这是来自请求的Github repo - https://github.com/mikeal/request
您可以将任何响应流式传输到文件流。
request('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))
我已经像这样修改了它,其中 largeImage 是来自 3rd-party 网站的绝对 url 路径。
request(largeImage).pipe(fs.createWriteStream('./img/large/demo.jpg'));
但我收到以下错误(不知道为什么?)。我查看了createWriteStream API,它似乎是正确的。如果我只包含“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'));