當你需要程式化地從伺服器下載檔案時,你會如何下載一個檔案呢?

這個問題讓我自問不已,當我需要從伺服器下載檔案並將其儲存在本地時。

以下是我所使用的程式碼:

const fs = require('fs')
const request = require('request')

const download = (url, path, callback) => {
 request.head(url, (err, res, body) => {
 request(url)
 .pipe(fs.createWriteStream(path))
 .on('close', callback)
 })
}

const url = 'https://…'
const path = './images/image.png'

download(url, path, () => {
 console.log('✅ 完成!')
})

這段程式碼使用了內建的 fs 模組以及 request 模組

必須先安裝 request

npm install request

需要注意的是,request 模組最近已經被棄用,這意味著它已經被「完成」,不會再有新的功能被加入。但這並不表示它停止運作,也不表示我們該停止使用它。