もくもくログ
主にIT 関連のメモをもくもくと綴っていきます
Node.js でウェブ上の画像をダウンロードするサンプルを検索すると、よくライブラリを使った実装がヒットします。
しかし、別にライブラリを使わずともNode.js の標準API で実装する事が出来たので、そのサンプルをメモしていきます。
下記2つを組み合わせる事で実装していきます。
const client = require('https') // ダウンロード対象がHTTP の場合はrequire('http') に変更する
const fs = require('fs')
const filename = '任意のファイル名'
const imageUrl = 'ダウンロード対象のURL'
// ダウンロード処理
const writer = fs.createWriteStream(filename)
client.get(imageUrl, res => {
res.pipe(writer)
res.on('end', () => {
// end イベント発火時にすぐファイル書き出し終了すると画像が綺麗に保存できない場合があるので適当な時間経過後に終了する
setTimeout(() => {
writer.close()
}, 1000)
})
})