Node.js实现文件压缩、解压缩及远程下载

一、压缩本地文件

<code>//参考: https://www.npmjs.com/package/compressing
const compressing = require('compressing');

function compressingZip() {
\treturn new Promise((resolve, reject) => {
\t\tcompressing.zip.compressDir('./要压缩的文件夹名称', './生成的zip包名.zip')
\t\t.then(() => {
\t\t\tconsole.log('success');
\t\t\tresolve();
\t\t})
\t\t.catch(err => {
\t\t\tconsole.error(err);
\t\t\treject();
\t\t});
\t})\t
}/<code>

二、解压缩文件

<code>const compressing = require('compressing');
function unCompressingZip(localFileName){
\treturn new Promise((resolve, reject) => {
\t\tcompressing.zip.uncompress('./'+ localFileName + '.zip', './')
\t\t.then(function() {
console.log('success');
reject()
\t\t})
\t\t.catch(function (err) {
\t\t\tconsole.log(err)
\t\t reject()
\t\t});
\t})
}/<code>

三、远程zip附件下载

<code>const request = require('request')
function getRemoteZip(remoteFileName, localFileName) {
\treturn new Promise((resolve, reject) => {
\t\tconst stream = fs.createWriteStream('./' + localFileName + '.zip');
\t\trequest('https://www.xxxx.com' + '/'+ remoteFileName +'.zip').pipe(stream).on('close', (err) => {
\t\t\tif(!err){
\t\t\t\tresolve()
\t\t\t} else {
\t\t\t\tconsole.log('文件下载失败,请重试')
\t\t\t\treject()
\t\t\t}
\t\t});
\t})
}/<code>


Node.js实现文件压缩、解压缩及远程下载

nodejs


分享到:


相關文章: