在系统中上传文件时,需要支持多文件和文件夹上传,并且需要在文件上传时需要将多文件压缩成zip包,下载的时候,直接下载zip包
听到这个需求,我的第一反应就是js应该没有强大吧,因为压缩和访问文件夹,涉及到了文件系统的读取和修改...:
1:用户选中文件或文件夹后,获取文件对象,
2:遍历获取的文件对象 放入实例化的zip对象中
3:使用generateAsync()方法生成文件, 通过formdata提交到服务端
代码如下:
此案例支持拖拽上传多个文件..., 支持选择多个文件,选择单个文件夹 此外可以使用 file-saver库的saveAs对zip文件包保存到本地
文件压缩上传案例
<label name="myfile" for="myfile" style="display:block;width:200px...能不能做,要想看这个库的api具不具备将<em>文件</em>转化为zip<em>文件</em>,通过以上两个api,可以得知这个库是支持的.
jszip库api
另外jszip库也支持读取本地和远程的zip<em>文件</em>返回内部<em>文件</em>目录,<em>文件</em>名.