Javascript 使用JSZIP设置自定义文件名

Javascript 使用JSZIP设置自定义文件名,javascript,jszip,Javascript,Jszip,我已经编写了一个zip下载,但我面临的问题是我无法给.zip一个自定义文件名,它一直给我一些随机名称,比如“ff22f3dc-24dc-41cb-b83d-06acef1694d0.zip”。是否有一个选项或类似的设置 我初始化下载的方式是使用这段代码。顺便说一句,我不是在用a标签工作 jszip.generateAsync({type:"blob"}) .then(function(content) {

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

我初始化下载的方式是使用这段代码。顺便说一句,我不是在用a标签工作

jszip.generateAsync({type:"blob"})
                .then(function(content)
                {
                    window.location = URL.createObjectURL(content);
                });
        } 
我感谢你的每一个建议

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

根据,可以使用为下载提供自定义文件名。不过,它只适用于现代浏览器,您将需要使用功能检测来恢复默认行为

看看这是否有效:

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);
        }
    });
根据,可以使用为您的下载提供自定义文件名。不过,它只适用于现代浏览器,您将需要使用功能检测来恢复默认行为

看看这是否有效:

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);
        }
    });

我很有信心这会起作用,但是有没有不使用另一个库的方法?我很有信心这会起作用,但是有没有不使用另一个库的方法?