在系统中上传文件时,需要支持多文件和文件夹上传,并且需要在文件上传时需要将多文件压缩成zip包,下载的时候,直接下载zip包
听到这个需求,我的第一反应就是js应该没有强大吧,因为压缩和访问文件夹,涉及到了文件系统的读取和修改...主要用到的库是 jszip
则 则这里简单对jszip做下简单介绍,更详细的功能和api请移步官网.
jszip是是一个创建,读取和写入.zip文件的js库, api优化,简单
浏览器支持
实现思路如下...:
1:用户选中文件或文件夹后,获取文件对象,
2:遍历获取的文件对象 放入实例化的zip对象中
3:使用generateAsync()方法生成文件, 通过formdata提交到服务端
代码如下:
此案例支持拖拽上传多个文件.../assets/logo.png">
文件压缩上传案例
文件转化为zip文件,通过以上两个api,可以得知这个库是支持的.
jszip库api
另外jszip库也支持读取本地和远程的zip文件返回内部文件目录,文件名.