压缩请求正文以发送到 PHP 网络服务器

Compress request body to send to PHP webserver

我有一个 Angular 应用程序,它发出如下 post 请求:

  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;
  }

通常这对我的大多数用户来说都很好,但有些用户的数据高达 15-30mb。我想知道是否可以压缩数据并将其发送到我的 PHP 网络服务器,然后可以对其进行解码以便上传更快?

或许可以考虑使用压缩库(取决于body的内容)。看起来 fflate 可以做到这一点。