मैं 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.consanimintl.net/b1s/v1/ItemImages ('परीक्षण') / $ मूल्य
हेडर : सेशनआईड: एएसके मी ने आपको कब देखा
किसी कारण से, हम छवि को सीधे फ़्रंट-एंड में नहीं ला सकते हैं और एक मिडलवेयर बनाने की आवश्यकता है ताकि हम इसे कर रहे हैं 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);
और हमें इस तरह की प्रतिक्रिया मिल रही है:
{स्थिति: 200,
स्टेटस टेक्स्ट: 'ओके',
हेडर:
{ 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:
डेटा:
'पीएनजी \ r \ n \ u001a \ n \ u0000 \ u0000 \ u0000 \ rIHDR \ u0000 \ u0000 \ u0000 \ u0000 \ u0000 \ u0000 \ b \ u0002 \ u0000 \ u0000 \ u0000 \ u0006 \ u001fS \ u0000 \ u0000 \ u0000 \ u0019tEXtSoftware \ u0000Adobe ImageReadyq e <\ u0000 \ u0000 \ u0003hiTXtXML: com.adobe.xmp \ u0000 \ u0000 \ u0000 \ u0000 \ u0000
इस सुपर लंबी और 80-100 अधिक लाइनों के लिए चला जाता है
यदि आप परीक्षण करना चाहते हैं तो आप निम्नलिखित का उपयोग कर सकते हैं:
डाकिया:
पोस्ट: https://us-central1-rapid-replacement.cloudfunctions.net/getImageFromitit
शरीर: {"productId": "परीक्षण"}
मान्य उत्पाद हैं: 1. "RR000102" 2. "परीक्षण" 3. "RR000101"
const request = require('request')
और मार्ग में request.get(url).pipe(res);
res.set({'Content-Type': 'image/png'});