参见英文答案 >
Fetching zipped text file and unzipping in client browsers,feasible in Javascript?3个
假设服务器无法压缩对用户请求的响应.然而,Web开发人员创建了myfile.txt.gz并将其存储在http://www.mysite.com/myfile.txt.gz.
假设服务器无法压缩对用户请求的响应.然而,Web开发人员创建了myfile.txt.gz并将其存储在http://www.mysite.com/myfile.txt.gz.
可以让浏览器自动将此压缩文本文件作为Ajax请求的一部分进行gunzip,并将结果存储在var中?如果有,怎么样?
如有必要,我愿意接受其他压缩算法.
更新
我正在尝试使用以下JQuery Ajax调用:
var fetch = function() { $.ajax({ type: 'GET',url: "./data.txt.gz",headers: { "Accept-Encoding" : "gzip" },dataType: "text",async: true,success: function(result) { $("#midEnglob").text(result); },error: function(jqXHR,textStatus,errorThrown) { alert("Issue: " + textStatus + " " + errorThrown + " !"); } }); }
但我在浏览器中收到以下内容:
有任何想法吗?
解决方法
让浏览器用
Content-Encoding: gzip解压缩它可能是最好的.如果它不适用于您的场景,javascript中有许多LZW实现,如:
https://gist.github.com/revolunet/843889
您可能需要尝试不同的实现,我自己没有检查任何实现.