Я получаю изображение из сервисного уровня SAP B1. В почтальоне я могу просмотреть его как image/png
, но при его отображении возникает проблема.
Как правильно отобразить его в <img />
?
require(fetchedImage)
- не работает
Я создал облачную функцию для извлечения изображения и передачи его клиенту, но я не уверен, как это сделать.
Наличие супер странный объект что-то вроде этого
data:
> '�PNGörönöu001aönöu0000öu0000öu0000örIHDRöu0000öu.........
Не знаю, как передать его через res.send(IMAGE IN PNG)
, чтобы я мог получить изображение на стороне клиента.
Проверено base64
преобразование, но я не уверен, как их использовать.
Обновление
Запрос почтальона: (Это работает нормально)
GET: https://su05.consensusintl.net/b1s/v1/ItemImages ('test') / $ value
Заголовки : SessionId: СПРОСИТЕ МНЕ, КОГДА ВЫ ПОПЫТАЕТЕ
По какой-то причине мы не можем получить изображение непосредственно во Front-End и нам нужно создать промежуточное программное обеспечение, поэтому мы делаем это в Firebase Cloud Function
Итак, вот функция, которая выбирает изображение и не не знаю, как пройти его.
Он Это функция в Firebase Cloud Function:
if (!req.body.productId) {
res.status(400).send({ error: "productId is required" });
return;
}
console.log("Starting the process");
const productId = req.body.productId;
const login = await Auth.login();
const fetchedImg = await ItemMaster.getImage(login["SessionId"], productId);
//Here in the fetchedImg, we're getting some data like
res
.status(200)
.set("Content-Type", "image/png")
.send(fetchedImg);
И мы получаем такой ответ:
{status: 200,
statusText: 'OK',
заголовки:
{ server: 'nginx',
date: 'Wed, 22 Jan 2020 03:52:22 GMT',
'content-type': 'image/png',
'transfer-encoding': 'chunked',
connection: 'close',
dataserviceversion: '3.0',
'content-disposition': 'inline; filename="rr-96600.png"',
vary: 'Accept-Encoding',
'set-cookie': [ 'ROUTEID=.node2; path=/b1s' ] },
config:
{ url:
data:
'�PNG \ г \ п \ u001a \ п \ u0000 \ u0000 \ u0000 \ rIHDR \ u0000 \ u0000 \ u0000 \ u0000 \ u0000 \ u0000 \ Ъ \ u0002 \ u0000 \ u0000 \ u0000 \ u0006 \ u001fS \ u0000 \ u0000 \ u0000 \ u0019tEXtSoftware \ Adobe00Readyq�e <\ u0000 \ u0003hiTXt XML: com.adobe.xmp \ u0000 \ u0000 \ u0000 \ u0000 </blockquote>
ЭТО СУПЕР ДЛИННО И ИДЕТ НА 80-100 больше линии
Если вы хотите проверить, вы можете использовать следующее:
Почтальон:
POST: https://us-central1-rapid-replacement.cloudfunctions.net/getImageFromItems
body: {"productId": "test"}
Допустимые идентификаторы productId: 1. "RR000102" 2. "test" 3. "RR000101"