使用Node.js请求库保存图像文件会导致异常



这来自请求的Github repo-https://github.com/mikeal/request

您可以流式传输对文件流的任何响应

request('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))

我已经这样修改了,其中largeImage是来自第三方网站的绝对url路径。

request(largeImage).pipe(fs.createWriteStream('./img/large/demo.jpg'));

但我得到了以下错误(不确定为什么?)。我看过createWriteStreamAPI,它似乎是正确的。如果我只包含"demo.jpg",它可以正常工作。但如果我在"demo.jpg"旁边包含路径,就会抛出一个异常。

stream.js:81
throw er; // Unhandled stream error in pipe.
^
Error: ENOENT, open './img/large/demo.jpg'
10 Oct 16:51:02 - [nodemon] app crashed - waiting for file changes before starting...

更新:问题是我没有包含//img/之前的public/文件夹。

此更新的代码工作正常:

request(largeImage).pipe(fs.createWriteStream('./public/img/large/demo.jpg'));

一切看起来都很好。我猜问题与权限有关,或者可能需要创建/img/large目录优先。

这样做可以获得更多信息:

var ws = fs.createWriteStream('./img/large/demo.jpg');
ws.on('error', function(err) { console.log(err); });
request(largeImage).pipe(ws);

相关内容

  • 没有找到相关文章

最新更新