Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从url压缩pdf文件_Javascript_Node.js_Express - Fatal编程技术网

Javascript 从url压缩pdf文件

Javascript 从url压缩pdf文件,javascript,node.js,express,Javascript,Node.js,Express,我正在尝试使用npm模块从现有链接压缩多个pdf文件。我能够将多个文件从内存或本地压缩到我的计算机,但在fs.createReadStream()中传入URL时,它无法工作 告诉我,我所需要做的就是传入要从中流式传输数据的文件的路径。我知道我做错了什么,脑子里想不清到底是什么 var archiver = require('archiver'); var archive = archiver('zip'); res.set('Content-Type', 'application/zip')

我正在尝试使用npm模块从现有链接压缩多个pdf文件。我能够将多个文件从内存或本地压缩到我的计算机,但在
fs.createReadStream()中传入URL时,它无法工作

告诉我,我所需要做的就是传入要从中流式传输数据的文件的路径。我知道我做错了什么,脑子里想不清到底是什么

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);
});

fs.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' });