将数组缓冲区转换为 blob 并在 react 和 node 中显示为图像

时间:2021-06-20 17:50:24

标签: node.js reactjs postgresql blob arraybuffer

我创建了一个 React 应用程序,它将图像作为 blob(bytea) 存储在我的 postgresql 数据库中。 现在我想将这些图像加载回我的应用程序并将它们显示为图像。但是如果我将它们加载回我的应用程序,它们将作为数组缓冲区被提取。据我了解,我需要将数组缓冲区转换回 blob 并将 blob 显示为我的应用程序中的图像。不幸的是,我不知道如何做到这一点。所以我请求你的支持。

  const loadProfilepicture = async () => {
    let res = await getProfilePictureByUserID(token, match.params.user_id);
    setProfilepicture(res.data);
    console.log(res.data);
  };
export const getProfilePictureByUserID = async (token, user_id) =>
  await axios.get(`${process.env.REACT_APP_API}/profilepicture/${user_id}`, {
    headers: {
      Authorization: `${token}`,
    },
  });

这是数据的样子 enter image description here

更新/解决方案

我解决了在数据库中进行编码的问题,如下所示:

SELECT encode(profilepicture_image, 'base64') as data FROM profilepictures WHERE user_id = $1

0 个答案:

没有答案