将文件发送到服务器之前如何gzip文件?

时间:2019-09-04 11:15:32

标签: angular

因此,当我上传文件时,我希望在调用rest api之前将其gzip并将其发送到服务器。在线文档很少,所以最好的方法是什么?

我尝试了几次npm软件包,例如pako和gzipy,但都失败了。但是,例如,当我调用gzipy.compress()时,应用程序将无法编译为无法解析“ fs”。

2 个答案:

答案 0 :(得分:0)

您会收到“无法解析FS”的信息,因为FS代表fileSystem,并且仅适用于NodeJS,不适用于浏览器。压缩必须由浏览器中的JS完成。不能完全确定JS是否可以访问二进制级别的文件,但是您可能需要修改为节点编写的库才能在浏览器上工作。

您可以将二进制文件附加到一堆文件中,然后将级联的二进制文件发送到服务器,而无需压缩。我建议您多读一点压缩的工作原理,以防您真正想要的是一次调用发送多个文件。您可能根本不需要压缩部分。

https://en.wikipedia.org/wiki/Gzip

https://en.wikipedia.org/wiki/Shannon%27s_source_coding_theorem

https://en.wikipedia.org/wiki/Huffman_coding

答案 1 :(得分:0)

也许您可以使用jzip-js。在这里阅读更多: https://www.npmjs.com/package/gzip-js

或者这个https://stuk.github.io/jszip/也存在。