2014-09-29 109 views
1

everyone。嘗試用奇妙的JSZIP庫將mp3加入我的zip文件。現在,它只創建了帶有正確文件名的zip文件,但mp3始終爲空。使用jszip將mp3添加到zip文件中

這是我到目前爲止的代碼:

//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; 
+1

是你確定btoa會從你的電腦獲取文件並對其進行編碼?據我所知,它只會編碼字符串參數。如果你想獲得真正的文件內容,你必須使用文件輸入。 https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications – Luizgrs 2014-09-29 17:19:17

+0

Geez,可能就是這樣。會讓你知道它是否工作。 – 2014-09-29 18:00:53

回答

1

所以,我結束了包括我的項目中JSZIP utils的另一個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

相關問題