我正在尝试从外部网址获取图像,然后将其作为响应发送到koa2中。为了获取图像,我使用了Axios库。
我试着用下面的方法来实现:
router.get('/get-image', async (ctx, next) => {
const {authToken} = ctx.query
const response = await axiosInstance.get(
'https://www.someurl.com/image/992',
{
headers: {
Authorization: `Bearer ${authToken}`,
},
}
)
ctx.type = 'image/jpeg'
ctx.body = response.data
})但是我从那个请求中得到的图像是无效的。它只显示空矩形)。
谁能告诉我如何重新发送收到的图像的正确方向?
发布于 2020-03-27 07:27:42
设置responseType: 'stream'。‘'arraybuffer’也可以,但是'stream‘更好,因为你只需要传递字节。
我相信在默认情况下,axios会解码成一个utf-8字符串,这对于图像二进制数据来说当然是毫无意义的。
const response = await axios.get(url, {
responseType: 'stream',
...
})https://stackoverflow.com/questions/60831122
复制相似问题