Angular 5 内容上传 GZip

3

我正在客户端使用Angular 5。

我有一些大文本内容需要通过我的API上传到服务器。

我尝试通过传递Content-Encoding: gzip头并从Angular 5发送压缩内容到服务器。

我尝试研究了一些gzip库,如pako、zlib等,但是没有一个很好地与TypeScript兼容(缺少类型)。

是否有任何好的gzip库可以与TypeScript一起使用?

谢谢

2个回答

1

要使用pako,请执行以下操作:

  1. 安装pako -
npm install pako

或者

bower install pako

  1. 在你的ts文件中添加这行代码

import { inflate, deflate, gzip, ungzip } from 'pako';

当你想要压缩数组时:

const options = {
  level: 9,
  name: 'hello-world.txt',
  timestamp: parseInt(Date.now() / 1000, 10)
};
const binaryString = gzip(JSON.stringify(options), { to: 'string' });
console.log(binaryString.length);

//
// Here you can do base64 encode, make xhr requests and so on.
//
const restored = JSON.parse(ungzip(binaryString, { to: 'string' }));
console.log(restored);

pako的网站:

https://nodeca.github.io/pako/

发送gzip到服务器的重要信息:

在Angular 2+中压缩传出请求

祝你好运!


1
鲍尔... 这可是我很久没听到的名字了。 - undefined

0
使用Angular / Typescript时,您还需要运行npm i --save-dev @types/pako命令来使用Pako。
npm install pako
npm i --save-dev @types/pako

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接