আমি এসএপি বি 1 পরিষেবা স্তর থেকে একটি চিত্র আনছি। পোস্টম্যানে, আমি এটিকে এটি হিসাবে দেখতে সক্ষম হচ্ছি image/png
তবে এটি প্রদর্শনের ক্ষেত্রে একটি সমস্যা রয়েছে।
এটি দেখানোর সঠিক উপায় কী <img />
?
require(fetchedImage)
- কাজ করে না
আমি চিত্রটি আনতে এবং এটি ক্লায়েন্টের কাছে দেওয়ার জন্য একটি ক্লাউড ফাংশন তৈরি করেছি, তবে কীভাবে এটি করবেন তা সম্পর্কে আমি নিশ্চিত নই।
একটি দুর্দান্ত অদ্ভুত জিনিস এই জাতীয় কিছু
data:
> '�PNGörönöu001aönöu0000öu0000öu0000örIHDRöu0000öu.........
কীভাবে এটি পাস করবেন তা জানেন না res.send(IMAGE IN PNG)
যাতে আমি ক্লায়েন্ট-সাইডে একটি চিত্র পেতে পারি।
চেক ইন base64
রূপান্তর কিন্তু আমি কিভাবে তাদের ব্যবহার নিশ্চিত নই।
হালনাগাদ
পোস্টম্যানের অনুরোধ: (এটি ভাল কাজ করছে)
জিইটি: https://su05.consensusintl.net/b1s/v1/ আইটেম আইমেজ ('পরীক্ষা') / $ মান
শিরোলেখ : sessionId: করলে আমায় জিজ্ঞাসা আপনি চেষ্টা
কিছু কারণে আমরা সরাসরি ফ্রন্ট-এন্ডে চিত্রটি আনতে পারি না এবং মিডলওয়্যার তৈরি করা দরকার যাতে আমরা এটি ব্যবহার করে চলেছি 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' ] },
কনফিগ:
{ url:
ডেটা:
'পিএনজি পান \ r \ n \ n u001a \ n \ n u0000 \ u0000 \ u0000 \ rIHDR \ u0000 \ u0000 \ u0000 \ u0000 \ u0000 \ u0000 \ b হল \ u0002 \ u0000 \ u0000 \ u0000 \ u0006 \ u001fS \ u0000 \ u0000 \ u0000 \ u0019tEXtSoftware \ u0000 অ্যাডব চিত্র
এটি আরও দীর্ঘতর এবং আরও ৮০-১০০ লাইনের জন্য রয়েছে
আপনি যদি পরীক্ষা করতে চান তবে নিম্নলিখিতগুলি ব্যবহার করতে পারেন:
পিয়ন:
পোস্ট: https://us-central1-rapid-replacement.cloudfunifications.net/getImageFromItems
দেহ: product "productId": "পরীক্ষা"}
বৈধ প্রোডাক্ট আইডিগুলি হ'ল: 1. "আরআর 1000102" 2. "পরীক্ষা" 3. "" আরআর 1000101 "
const request = require('request')
এবং রুটে এটির প্রক্সি তৈরি করতে পারেনrequest.get(url).pipe(res);
res.set({'Content-Type': 'image/png'});