使用JSZIP设置自定义文件名

时间:2017-05-03 14:03:54

标签: javascript jszip

我已经编写了一个zip下载代码,但我面临的问题是我无法给.zip一个自定义文件名。它一直给我一些随机的名字这些" ff22f3dc-24dc-41cb-b83d-06acef1694d0.zip"。是否有类似设置的选项或类似内容?

我开始下载的方式是使用这段代码。我没有使用' a'标签btw。

jszip.generateAsync({type:"blob"})
                .then(function(content)
                {
                    window.location = URL.createObjectURL(content);
                });
        } 

我感谢你的每一条建议。

编辑:此zip包含Excel文件(使用JSZIP Utils)

1 个答案:

答案 0 :(得分:0)

根据this page in the documentation,可以使用FileSaver polyfill为您的下载提供自定义文件名。它仅适用于现代浏览器,您需要使用功能检测来回退到默认行为。

看看是否有效:

try {
    var isFileSaverSupported = !!new Blob;
} catch (e) {}

jszip.generateAsync({ type: "blob" })
    .then(function(content) {
        if(isFileSaverSupported) {
            saveAs(content, "custom_filename.zip");
        } else {
            window.location = URL.createObjectURL(content);
        }
    });