nodejs——压缩文件_archiver
2017-02-09 08:57
253 查看
工作需要,由于html无法访问并下载带有中文的路径,例子:“127.0.0.1::8088/files/第一张图片.jpg”,所以想到了先将原图片压缩并命名为不带中文的文件名,下载后用户自行解压缩的方法。
此次采用的包为:archiver
下面是此次我使用该包的源代码和注释,供同学们参考:
此次采用的包为:archiver
下面是此次我使用该包的源代码和注释,供同学们参考:
var ARCHIVER = require('archiver'); var FS = require('fs'); var presentDate = new Date(); var myDate = presentDate.toLocaleDateString();//获取当前日期,eg:2017-02-08,以此日期为压缩包文件名 var path1 = '/ARCHIVER/appData/files/第一张图片.jpg';//图片的绝对路径 var path2 = '/ARCHIVER/appData/files/第二张图片.jpg'; var files = [path1, path2];//将图片路径组合成数组形式,用for循环遍历 //压缩后文件输出地址:/ARCHIVER/appData/files/,压缩包名:eg:2017-02-08.zip var output = FS.createWriteStream(/ARCHIVER/appData/files/ + myDate + '.zip'); //archiver可压缩为zip或tar格式,这里选择zip格式,注意这里新定义了一个变量archive,而不是原有的archiver包引用 var archive = ARCHIVER('zip', { store: true }); //将压缩路径、包名与压缩格式连接 archive.pipe(output); //nameInZIP指压缩包内的文件名 var nameInZIP = ['第一张图片.jpg', '第二张图片.jpg']; for (var i = 0; i < files.length; i++) { console.log(files[i]); //FS读取文件流并命名,将读取的文件流append到压缩包中 archive.append(FS.createReadStream(files[i]), {'name': nameInZIP[i]}); } //压缩结束 archive.finalize();
相关文章推荐
- nodejs的压缩文件模块archiver用法示例
- nodejs 压缩文件 archiver
- nodejs 对文件进行 压缩加密和解压缩解密
- NodeJs 实时压缩 项目js文件
- nodejs压缩文件
- Nodejs:使用gulp压缩单个文件
- nodejs系列(8)文件的压缩和解压
- 如何使用 C# 压缩文件及注意的问题
- Linux下的压缩文件剖析
- 如何使用C#压缩文件及注意的问题!
- 压缩日志及数据库文件大小
- pb中压缩整理access数据库文件(mdb)
- [原创]写一个仅仅压缩文件的例子
- c#的文件压缩
- 如何二次压缩RM和RMVB格式文件
- 256色无压缩BMP文件格式
- --压缩日志及数据库文件大小
- 怎样压缩数据库的日志文件
- Linux常用压缩文件的解压
- 压缩和解压缩文件