2012-12-18 12 views
5

संभव डुप्लिकेट:
How to convert an image object to a binary blobलोड की गई छवि को ब्लॉब में कैसे पढ़ा जाए?

मैं एक ही मूल नीति प्रतिबंध का सामना करना पड़ रहा जब दूरस्थ छवियों को लोड। हालांकि डीओएम 0 छवि ऑब्जेक्ट का उपयोग दूरस्थ संसाधन लोड करने के लिए किया जा सकता है (यह अनिवार्य रूप से <img /> टैग बनाने जैसा ही है)।

var fr = new FileReader(), 
    img = new Image(); 

img.src = 'http://distilleryimage8.s3.amazonaws.com/6cf25568491a11e2af8422000a9e28e9_7.jpg'; 

img.onload = function() { 
    // how to get this image as a Blob object? 
}; 

क्या इस संसाधन को ब्लॉब/सरणीबफर ऑब्जेक्ट में पढ़ने का कोई तरीका है? यह How to convert an image object to a binary blob का डुप्लिकेट नहीं है क्योंकि उत्तरार्द्ध समान मूल समस्याओं के साथ नहीं बढ़ता है।

+0

आप छवि को कैनवास पर रख सकते हैं, फिर कैनवास को ब्लॉब के रूप में पढ़ सकते हैं। मुझे लगता है। मुझे यकीन नहीं है कि कैनवास का उपयोग कैसे करें, लेकिन मुझे लगता है कि आप ऐसा कर सकते हैं। –

+0

वह वास्तव में सराहनीय लगता है! अगर यह काम करता है तो इसे आज़माएं और अपडेट पोस्ट करें। – Gajus

+0

इसके लिए जाएं। सौभाग्य! :- डी –

उत्तर

2

मेरी राय में यह बहुत दर्द के बिना पूरा किया जा सकता ...

आप बस एक और एचटीएमएल 5 तत्व की जरूरत है। canvas का उपयोग करते समय आप उस पर दूरस्थ छवि खींच सकते हैं। उसके बाद छवि डेटा प्राप्त करना यूआरएल काफी आसान है, आपके पास कैनवास के एपीआई से ऐसा फ़ंक्शन है। अगला चरण FileReader की readAsDataURL विधि का उपयोग करना है।

मैंने कोशिश नहीं की है लेकिन सैद्धांतिक रूप से इसे काम करना चाहिए।

  • संपादित करें: यह काम नहीं करेगा। अगर छवि विभिन्न मूल से है तो आप कैनवास की toDataURL विधि का उपयोग नहीं कर सकते हैं। इसलिए मुझे नहीं लगता कि सर्वर-साइड के बिना कोई समाधान है।
+1

यह साबित करने के लिए कि यह काम नहीं करता है, http://jsbin.com/apabor/1/edit उन लोगों के लिए (मेरे जैसे) जो सुनिश्चित करना चाहते हैं। – Gajus

+0

हां, मुझे लगता है कि आपको सर्वर-साइड में नोड, PHP या कुछ और चाहिए ... –

+0

@MinkoGechev इस बीच इस विषय पर कोई खबर है? – danijar

संबंधित मुद्दे