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


分享到:


相關文章: