在后端获取 blob 并发送到前端

Posted

技术标签:

【中文标题】在后端获取 blob 并发送到前端【英文标题】:Fetch blob in backend and send to front end 【发布时间】:2021-11-24 04:53:48 【问题描述】:

我正在尝试以媒体/gif 的形式获取 blob,然后立即将其发送到我的前端。出于安全和缓存目的,我需要首先在我的后端(Vercel 中的无服务器功能)中获取它。当直接从 Postman 和我的前端中的源 URL 获取 blob/图像时,一切正常,但是当第一次在我的后端获取它然后将它传递给 Postman 和我的前端时它不起作用。

我的后端代码:

export default async (_: NowRequest, response: NowResponse) => 
  const res = await Axios.get(
    "BLOB_URL"
  );
  response.setHeader("Content-Type", "media/gif");

  return response.status(200).send(res.data);
;

我错过了什么?

【问题讨论】:

【参考方案1】:

通过添加以下内容解决了它:

export default async (_: NowRequest, response: NowResponse) => 

  const res = await Axios.get(
    "BLOB_URL",
      responseType: "arraybuffer"  <--- ADDED THIS
  );

  response.setHeader("Content-Type", "media/gif");

  return response.status(200).send(res.data);
;

【讨论】:

以上是关于在后端获取 blob 并发送到前端的主要内容,如果未能解决你的问题,请参考以下文章

将图像上传到 Azure Blob 存储

如何正确地将 blob 从前端传递到后端?

前端存储技术

获取网站的控制台日志并发送到 websocket

2017.12.07 Ajax获取服务器数据并发送到前端

如何在后端和前端具有不同子文件夹的代码沙盒中运行应用程序