跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 使用 node 提供的`gzip`为什么压缩表格的结果会是一个文件夹(txt 文本没有这个问题)?
未分類
20 1 月 2021

使用 node 提供的`gzip`为什么压缩表格的结果会是一个文件夹(txt 文本没有这个问题)?

使用 node 提供的`gzip`为什么压缩表格的结果会是一个文件夹(txt 文本没有这个问题)?

資深大佬 : KouShuiYu 5

gzip

async function zipBuffer(payload) {   return new Promise((res, rej) => {     gzip(payload, (err, buffer) => {       if (err) {         rej(err);       }       res(buffer);     });   }); } 

使用archiver没这个问题,就是没办法直接压缩到 buffer,需要先生成压缩文件再读取,感觉绕了一个圈子

function zipBuffer(buffer, outputName) {   return new Promise((res, rej) => {     const outputPath = `./temp_data/_${getToken()}.zip`;     const output = fs.createWriteStream(outputPath);     const archive = archiver('zip', {       zlib: { level: 9 },     });     archive.pipe(output);     archive.append(buffer, { name: outputName });     archive.finalize();     output.on('close', async function () {       const zipBuffer = await streamToBuffer(fs.createReadStream(outputPath));       await unlinkFile(outputPath);       res(zipBuffer);     });     output.on('error', async function (err) {       rej(err);     });   }); } 

大佬有話說 (1)

  • 資深大佬 : joesonw

    xlsx 本来就是 zip 阿. 你把后缀改为.zip 打开就知道了.

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具