2016-11-15 228 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"}); 
相关问题