これはリクエストのGithubリポジトリからのものです-https ://github.com/mikeal/request
ファイルストリームへの任意の応答をストリーミングできます。
request('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))
このように変更しました。ここで、largeImageはサードパーティのWebサイトからの絶対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'));