【发布时间】:2014-06-30 12:28:23
【问题描述】:
我想从网络服务器下载压缩后的 csv 文件,然后在浏览器中解压缩。
到目前为止,我已经尝试使用pako 和zlib 在我的服务器上获取压缩文件,但遇到了各种问题。尝试解压缩 unix-gzip 压缩文件时,我不断收到错误的标头消息。
接下来,我尝试使用 node 将文件压缩到服务器上,目前出现此错误
Uncaught Error: invalid file signature:,�
这是我用来获取文件的命令:
$.ajax({ type: "GET", url: 'public/pols_zlib.csv.gz'})
.done(function(d){
var gunzip = new Zlib.Gunzip(d);
plain = gunzip.decompress();
});
我正在寻找在我的服务器上压缩文件并在浏览器中解压缩的任何方法。
【问题讨论】:
-
在 HTTP 级别进行压缩,让浏览器在后台负责解压。
-
quentin,在 ajax 调用中到底是什么样的?
-
就像一个压缩数据的负载,响应头说它是压缩的。
-
@Quentin 这是否意味着我需要更改为压缩文件提供服务的服务器上的某些内容?或者,我可以在 javascript 调用中设置它吗?在这种情况下,我不控制服务器选项,因此更改服务器发送文件的方式并不是一个真正的选择。无论解决方案是什么,都必须使用 javascript。
-
也许您需要一个服务器端脚本来生成带有正确标头的 HTTP 响应,并将您的 CSV 文件写入响应流。您熟悉任何服务器端技术吗?
标签: javascript browser zlib