Извлеките большой двоичный объект в бэкэнде и отправьте на передний конец

#blob #gif #serverless #vercel

Вопрос:

Я пытаюсь извлечь большой двоичный объект в виде мультимедиа/gif, а затем немедленно отправить его на свой интерфейс. Мне нужно сначала извлечь его в моем бэкэнде (бессерверная функция в Vercel) в целях безопасности и кэширования. При извлечении большого двоичного объекта/изображения непосредственно из исходного URL в 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);
};