2016-11-15 227 views
0

我想在Chrome瀏覽器中生成並使用FileSaver.js保存空的zip文件。javascript-如何使用FileSaver.js生成並保存空的zip文件

saveAs(new Blob([], {type: "application/zip"}), "empty.zip"); 

它要求我將「empty.zip」保存在磁盤上。

文件正在創建精細(0字節)

我可以拖動並在Windows資源管理器拖放文件那裏。

但7-ZIP不打開它

enter image description here

我應該怎麼通過作爲Blob內容參數,而不是空數組[],以獲得適當的拉鍊?

回答

1

一個空的zip文件不是一個空文件:它需要一個「中央目錄記錄結尾」清單0條目(請參閱4.3.16 End of central directory record以供參考)。即使這樣,一些工具也會抱怨zip文件是空的。我現在無法測試7zip,它可能發生在你身上。

如果你不希望加載一個zip庫只是爲了產生這種空zip文件,你可以寫22個字節:

var buffer = new Uint8Array([ 80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]).buffer; 
var blob = new Blob([buffer], {type: "application/zip"}); 
相關問題