NodeJs 获取远程文件有很多方式,常见的方式有以下两种:
- fetch(原生)
- axios(插件)
- 通过 Fetch 下载文件,代码如下:
import fs from 'node:fs'
function main(){
fetch('http://xxx.xxx.xxx:60080/api/image/p/e74bafd43894c8582552eae93f84db40.png')
.then(res=>res.arrayBuffer)
.then((buffer)=>{
fs.writeFileSync('./images/e74bafd43894c8582552eae93f84db40.png',new DataView(buffer))
})
}
- 通过Axios 下载文件,代码如下
import fs from 'node:fs';
import axios from 'axios';
function main(){
axios.get('http://xxx.xxx.xxx:60080/api/image/p/e74bafd43894c8582552eae93f84db40.png',
{
responseType:'blob'
}).then((res=>{
const writeStream=fs.createWriteStream('./images/e74bafd43894c8582552eae93f84db40.png');
res.body.pipe(writeStream)
})
}