如何将来自 API 的图像数据转换为 url 以在 React Js 的 img 标签中使用

How can I turn the data that is a image came from API to url to use in img tag in react Js

我上传了一张图片。现在,我有一个下载 API,它给我这个图像作为数据。响应如下所示:

响应的头是这样的:

现在的问题是我想在网页上使用 img 标签或 React js 中的任何其他可能的方式显示此图像。将内容传递给 src attr 什么都不显示。 有人有什么想法吗?有什么办法吗?

您应该能够使用 FileReader 将响应转换为可在 src 属性中使用的 base64 格式:

// Request was successful, get image blob
const blob = await response.blob()

// Convert the blob to base64
const reader = new FileReader()
reader.readAsDataURL(blob)

// Get the converted image and set it where needed
reader.onloadend = () => {
    const base64Image = reader.result
    // Set the image to the src of the image tag or setState as you need
}

除了上面的答案之外,这对我也有用:

const fetchImage = async () => {
fetch(apiUrl, {
  method: 'get',
  headers: new Headers({
    Authorization: `Bearer ${getCookie('accessToken')}`,
  }),
})
  .then((response) => response.blob())
  .then((myBlob) => {
    const objectURL = URL.createObjectURL(myBlob);
    setImageUrl(objectURL);
  });

};