我想用jszip库在客户端保存zip文件。
下面是我的代码:
function zipDownload(){
var fileName ="test.zip",
zip = new JSZip(),
content,
img,
data;
zip.file("hello.txt", "Hello World\n");
data = zip.generate({type: $.isFunction(window.Blob) ? "blob" : "base64"});
fileLoader.saveAs(fileName, "application/zip", data);
}它在除Safari8以外的所有现代浏览器中都能正常工作。
Safari 8无法保存带有文件扩展名的文件。
这是一个示例http://jsfiddle.net/uvhy34ar/3/,它实际显示了这个问题。
发布于 2015-06-22 18:52:25
我遇到了完全相同的问题。在我的例子中,我试图保存一个包含带有自定义扩展名(.cmf)的XML代码的文件。Safari8总是将.xml扩展名附加到我的扩展名后面。因此产生了myfile.cmf.xls而不是myfile.cmf。
对我有效的修复方法是将服务器响应的报头设置为
Content-Type: application/octet-stream还有Voliá!--不再添加任何扩展。
https://stackoverflow.com/questions/30124411
复制相似问题