大家。尝试使用精彩的JSZIP lib将mp3无条件地添加到我的zip文件中。现在,它只使用正确的文件名创建了zip文件,但mp3始终是空白的。
这是我到目前为止的代码:
//init
var zip = new JSZip();
//add an mp3 titled "any other way" and decode binary to base64
zip.file("any other way.mp3", btoa("absolutepath/to/my/file/any_other_way.mp3"), {base64: true});
//generate zip
var content = zip.generate();
//download zip
location.href="data:application/zip;base64,"+content;
答案 0 :(得分:1)
所以,我最终在我的项目中包含了另一个带JSZIP工具的js文件,并调用了以下方法,并在Chrome上下载得很好。但是,如果你想让它适用于IE和Safari,你必须实现Downloadify(http://stuk.github.io/jszip/documentation/howto/write_zip.html#toc_3):
// loading a file and add it in a zip file
JSZipUtils.getBinaryContent("path/to/audio.mp3", function (err, data) {
if(err) {
throw err; // or handle the error
}
var zip = new JSZip();
zip.file("audio.mp3", data, {binary:true});
});
http://stuk.github.io/jszip-utils/documentation/api/getbinarycontent.html
此外,还有一个指向该问题的链接:https://github.com/Stuk/jszip/issues/176#issuecomment-57266207