Tengo una aplicación Angular que hace una solicitud de publicación como la siguiente:
async syncDataWithMaster(): Promise<AxiosResponse<any> | void> { .... const jsonData = { lastSyncTimeStamp, deviceID, userUUID, lData, aData, aiData, fData, oData, caData, }; axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded/json/gzip'; axios.defaults.headers.post.Authorization = token; const url = this.endpoint + 'syncData.php'; return axios.post(url, jsonData, { onUploadProgress: progressEvent => {console.log('uploading')}, onDownloadProgress: progressEvent => {console.log('downloading')} }).then((response) => { if (response.data.status == 'success') { return response; } else { throw new Error('Could not authenticate user'); } }); } catch (e) { } return; }Por lo general, esto está bien para la mayoría de mis usuarios, sin embargo, algunos usuarios tienen datos de hasta 15-30 MB. Me pregunto si es posible comprimir los datos y enviarlos a mi servidor web PHP, que luego se puede decodificar para que la carga sea más rápida.