當你需要程式化地從伺服器下載檔案時,你會如何下載一個檔案呢?
這個問題讓我自問不已,當我需要從伺服器下載檔案並將其儲存在本地時。
以下是我所使用的程式碼:
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
模組最近已經被棄用,這意味著它已經被「完成」,不會再有新的功能被加入。但這並不表示它停止運作,也不表示我們該停止使用它。