node.js - NodeJS Axios 请求返回一个奇怪的字符串
问题描述
我正在向第三方 API 发送一个 GET 请求,它返回一个奇怪的字符串(应该是一个图像)。
axios.get(`${URL}/test`, {
headers: {
'Content-Type': 'application/json',
},
auth: {
username: USERNAME,
password: PASSWORD
},
responseType: 'blob'
})
.then(async (response) => {
console.log(response.data)
return res.json(response.data);
})
.catch((err) => {
console.log(err);
return res.json("ERROR");
});
回应是:
"����\u0000\u0010JFIF\u0000\u0001\u0001\u0000\u0000\u0001\u0000\u0001\u0000\u0000��\u0000C
如何将其转换为图像或图像/网址?
谢谢
解决方案
你可以试试这个
const Fs = require('fs')
const Path = require('path')
const Axios = require('axios')
async function downloadImage () {
const url = 'https://unsplash.com/photos/AaEQmoufHLk/download?force=true'
const path = Path.resolve(__dirname, 'images', 'code.jpg')
const writer = Fs.createWriteStream(path)
const response = await Axios({
url,
method: 'GET',
responseType: 'stream'
})
response.data.pipe(writer)
return new Promise((resolve, reject) => {
writer.on('finish', () => { /* Add your code here */ resolve(); })
writer.on('error', () => { /* Add your code here */ reject(); })
})
}
downloadImage()
推荐阅读
- php - substr_count():偏移量不包含在字符串中
- python - Python3 Pandas Dataframe KeyError 问题
- c# - 如何将 Windows 窗体数据传递到基本窗体
- r - 如果至少一个单元格等于 0,则丢弃行
- javascript - 为什么 Redux 不重新渲染组件?
- c# - 使用 WPF WebView 访问本地主机
- android - WorkManager 监听链式任务
- sql - 计数 SELECT DISTINCT LISTAGG
- android - 如何获取访问权限以与 RxAndroidBle 建立蓝牙连接?
- python - 如何在不打开二进制文件的情况下获取文件大小,因为它不断被修改