Zip pdf files from url



我试图从使用归档器npm模块的现有链接压缩多个pdf文件。我能够从内存或本地压缩多个文件到我的机器,但是当我在fs.createReadStream()中传递url时,它不起作用。

fs.createReadStream()告诉我,我所需要做的就是传入我想要流式传输数据的文件的路径。我知道我做错了什么,但我不知道到底是怎么回事。

var archiver =  require('archiver');
var archive = archiver('zip');
res.set('Content-Type', 'application/zip');
res.set('Content-Disposition', 'attachment; filename=123.zip');
archive.pipe(res);
archive
   .append(fs.createReadStream('https://URL-1-XXX.pdf'), { name: 'file1.pdf' });
   .append(fs.createReadStream('https://URL-1-XXX.pdf'), { name: 'file2.pdf' });
archive.finalize(function(err, bytes) {
 if (err)
   throw err;
 console.log('done: ', bytes);
});

createReadStream用于读取存储在磁盘上的文件,而不是发出HTTPS请求。我建议你进一步阅读API文档,看看https模块。

试试这个:

var request = require('request');
archive
   .append(request.get('https://URL-1-XXX.pdf'), { name: 'file1.pdf' });
   .append(request.get('https://URL-1-XXX.pdf'), { name: 'file2.pdf' });

最新更新