2013-06-21 4 views
52

का उपयोग कर रहा this answer जो शानदार है में आए फोटो अपलोड करने के रूप इनपुट का उपयोग करना:कैमरा एक्सेस और तुरंत वेब एप्लिकेशन

iPhone iOS6 में और उसके बाद एंड्रॉयड आईसीएस से, एचटीएमएल 5 निम्नलिखित टैग जो आप लेने के लिए अनुमति देता है आपके डिवाइस से चित्र:

<input type="file" accept="image/*" capture="camera"> 

कैप्चर कैमरा, कैमकॉर्डर और ऑडियो जैसे मान ले सकता है।

क्या किसी भी प्रकार के AJAX का उपयोग करके इसे तुरंत एक बार ले जाने के बाद फोटो को तुरंत अपलोड करना संभव है?

उदाहरण के लिए, मेरे फोन का उपयोग करके, जब मैं इनपुट पर टैप करता हूं, तो यह कैमरा खोलता है जो तुरंत मुझे फोटो लेने और सहेजने की अनुमति देता है। जब मैं इसे कैमरे में सहेजता हूं, तो उसे अपलोड करने के लिए फ़ाइल के रूप में इनपुट बटन द्वारा सूचीबद्ध किया जाता है।

उपयोगकर्ता के फॉर्म के सबमिट बटन पर क्लिक करने के लिए इस तस्वीर को तत्काल अपलोड करने के लिए क्या होगा?

+1

आपने पहले से क्या प्रयास किया है? तुमने क्या स्टंप किया है? – Marcin

+0

यदि आप तीसरे पक्ष के नियंत्रण में रुचि रखते हैं, तो आप केंडो यूआई पर विचार कर सकते हैं http://demos.kendoui.com/web/upload/api.html – HaBo

+1

@ मार्सिन मैं जावास्क्रिप्ट के साथ कभी मजबूत नहीं रहा हूं इसलिए मुझे यकीन नहीं था कि क्या कोशिश करने के लिए भी। जो मैं दोहराने की कोशिश कर रहा हूं वह मूल ऐप फीचर है जहां फोटो तुरंत कैमरे के साथ फोटो लेने के बाद अतिरिक्त कदम के बिना सेवा या रिमोट सर्वर पर अपलोड हो जाता है। – micah

उत्तर

71

यह करना वास्तव में आसान है, फ़ाइल इनपुट के बदले हैंडलर के अंदर बस एक एक्सएचआर अनुरोध के माध्यम से फ़ाइल भेजें।

<input id="myFileInput" type="file" accept="image/*;capture=camera"> 

var myInput = document.getElementById('myFileInput'); 

function sendPic() { 
    var file = myInput.files[0]; 

    // Send file here either by adding it to a `FormData` object 
    // and sending that via XHR, or by simply passing the file into 
    // the `send` method of an XHR instance. 
} 

myInput.addEventListener('change', sendPic, false); 
+1

इस उत्तर के लिए धन्यवाद। तो यह इवेंट श्रोता एक बदलाव के लिए इनपुट # myFileInput देख रहा है, यह जानकर कि फोटो अपलोड होने के लिए कब कतारबद्ध है? और फिर मुझे लगता है कि यह sendPic फ़ंक्शन को स्वचालित रूप से फ़ोटो अपलोड करने वाले FormData objct के साथ निष्पादित करेगा? मैं समझता हूं कि एक्सएचआर बहुत उच्च स्तर पर क्या है। क्या मैने इसे सही समझा? – micah

+0

उपयोगकर्ता श्रोता को चुनने के बाद इवेंट श्रोता को बुलाया जाता है। –

+0

तो ईवेंट श्रोता कैमरा भेजने के बाद तुरंत फ़ाइल भेजने के लिए 'sendPic() 'को संकेत देता है? – micah

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