पर सामग्री-प्रकार सेट करें हम एक वेबसाकेट के नीचे Blob
(छवि) स्थानांतरित कर रहे हैं और इसे दूसरे छोर पर कैनवास में प्रस्तुत कर रहे हैं।ब्लॉब
Resource interpreted as Image but transferred with MIME type text/plain: "blob:https%3A//example.com/demo".
हम निम्नलिखित कोड का उपयोग कर वस्तु URL बनाने:
जब मैं ब्लॉब साथ createObjectURL
उपयोग करते हैं, मैं इस चेतावनी मिलता है। ब्लॉब क्लाइंट की तरफ socket.binaryType = "blob";
के साथ एक मानक WebSocket के माध्यम से भेज रहा है:
socket.onmessage = function(e) {
var blob = e.data;
var url = (window.URL || window.webkitURL).createObjectURL(blob);
var image = document.createElement('img');
image.src = url;
}
एक ही रास्ता मैं इस चेतावनी को संबोधित करने के बारे में सोच सकते निम्न कोड के साथ ब्लॉब की एक प्रतिलिपि बनाने के लिए है, लेकिन मुझे नहीं पता सभी डेटा की प्रतिलिपि बनाने के ओवरहेड को पेश करना चाहते हैं:
var blob = new Blob([e.data], {
type: 'image/gif'
});
विधि प्रति सेकंड दर्जनों बार बुलाया जाता है।
new Blob
के साथ डुप्लिकेट Blob
ऑब्जेक्ट बनाये बिना ब्लॉब सामग्री-प्रकार को सेट करने के तरीके पर कोई विचार?
क्या आप दिखा सकते हैं कि आप ब्लॉब डेटा कैसे भेजते हैं? ध्यान दें कि '.binaryType' प्रॉपर्टी केवल बाइनरी संदेश पर प्रभावी होती है - यदि आप टेक्स्ट भेज रहे हैं, तो 'event.data' में हमेशा एक स्ट्रिंग होगी। – Bergi
यह बहुत आसान है: 'socket.send (संदेश); 'नोड जेएस अंत में। 'संदेश' एक बाइनरी ब्लॉब ऑब्जेक्ट है जो ओएसएक्स ऐप से सॉकेटरोकेट ('एनएसडीटा' प्रकार) के माध्यम से आ रहा है। संदेश निश्चित रूप से एक बाइनरी 'ब्लॉब' है। –