前言
使用nodejs下载文件的的方法
内容
request
代码语言:javascript复制const fs = require('fs')
const request = require('request')
/**
* 下载文件并写入本地磁盘
* @param fileLink 文件URL地址
* @param filePath 文件路径,如: c:xx/xx.jpg
*/
export function getFile(fileLink, filePath){
if (fileLink??'' !== '') {
return new Promise(resolve => {
request({
url: fileLink,
method: 'GET', // 根据实际情况改变请求方式
encoding: null
}, (err, response, body) => {
if (!err && response.statusCode === 200) {
fs.writeFileSync(filePath, body, {encoding: "binary"})
resolve(filePath)
} else {
reject(err)
}
})
})
}
}
pipe
代码语言:javascript复制const fs = require('fs')
const request = require('request')
/**
* 下载文件并写入本地磁盘
* @param uri 文件URL地址
* @param filePath 文件路径,如: c:xx/xx.jpg
* @param callback 回调
*/
export function getFile(uri, filePath, callback){
if (uri??'' !== '') {
request(uri).pipe(fs.createWriteStream(filePath)).on('close', () => { callback(filePath) })
}
}