मोबाइलों के लिए मेरे वेब ऐप (देशी ऐप नहीं) में, मैं एक फोटो लेना चाहता हूं और इसे अपलोड करना चाहता हूं, लेकिन मैं एडोब फ्लैश का उपयोग नहीं करना चाहता। क्या इसे करने का कोई तरीका है?
मोबाइलों के लिए मेरे वेब ऐप (देशी ऐप नहीं) में, मैं एक फोटो लेना चाहता हूं और इसे अपलोड करना चाहता हूं, लेकिन मैं एडोब फ्लैश का उपयोग नहीं करना चाहता। क्या इसे करने का कोई तरीका है?
जवाबों:
IPhone iOS6 और Android ICS के बाद से, HTML5 में निम्नलिखित टैग है जो आपको अपने डिवाइस से चित्र लेने की अनुमति देता है:
<input type="file" accept="image/*" capture="camera">
Capture
कैमरा, कैमकॉर्डर और ऑडियो जैसे मूल्य ले सकते हैं।
मुझे लगता है कि यह टैग निश्चित रूप से iOS5 में काम नहीं करेगा, इसके बारे में निश्चित नहीं है।
<input type="file" accept="image/*;capture=camera">
इसके बजाय होना चाहिए । एमडीएन के अनुसार, capture
किसी input
तत्व के लिए कोई विशेषता नहीं है।
capture="camera"
(स्ट्रिंग) और पुराने accept="image/*;capture=camera"
को 2012 में capture="capture"
(बूलियन) के साथ बदल दिया गया है । विशेषता का उपयोग लाइब्रेरी से चयन करने के बजाय कैप्चर को बाध्य करने के लिए किया जाता है। HTML मीडिया कैप्चर के लिए युक्ति और सही सिंटैक्स
आजकल कम से कम Android के साथ यह अपेक्षाकृत आसान है। बस सामान्य फ़ाइल इनपुट टैग का उपयोग करें और जब उपयोगकर्ता इसे क्लिक करता है तो फोन पूछेगा कि क्या उपयोगकर्ता फ़ाइल अपलोड करने के लिए कैमरा (या फ़ाइल प्रबंधक आदि) का उपयोग करना चाहता है। बस कैमरे के साथ एक तस्वीर ले लो और यह स्वचालित रूप से जोड़ा और अपलोड किया जाएगा।
IPhone के बारे में कोई विचार नहीं है। हो सकता है कि कोई उस पर प्रकाश डाल सके। EDIT: Iphone इसी तरह काम करता है।
इनपुट टैग का नमूना:
<input type="file" accept="image/*" capture="camera">
multiple
एंड्रॉइड और आईओएस दोनों पर काम करता है, एचटीएमएल मीडिया कैप्चर के लिए सही सिंटैक्स
बस इसे अद्यतन करने के लिए, मानक अब है:
<input type="file" name="image" accept="image/*" capture="environment">
पर्यावरण-सामना (रियर) कैमरे का उपयोग करने के लिए, और
<input type="file" name="image" accept="image/*" capture="user">
उपयोगकर्ता के सामने (सामने) कैमरे के लिए। वीडियो का उपयोग करने के लिए, नाम में "छवि" के लिए "वीडियो" स्थानापन्न करें।
IOS 5.3, फर्मवेयर 760 पर चलने वाले iPhone 5c पर परीक्षण ठीक काम करता है।
आईओएस 6+ और एंड्रॉइड 2.2 पर सफारी और क्रोम HTML मीडिया कैप्चर का समर्थन करते हैं जो आपको अपने डिवाइस के कैमरे के साथ तस्वीरें लेने या मौजूदा डिवाइस का चयन करने की अनुमति देता है:
<input type="file" accept="image/*">
यहां बताया गया है कि यह iOS 10 पर कैसे काम करता है:
IOS10.3 पर Android 3.0+ और Safari भी उस capture
विशेषता का समर्थन करता है, जिसका उपयोग सीधे कैमरे पर कूदने के लिए किया जाता है।
<input type="file" accept="image/*" capture>
capture="camera"
(स्ट्रिंग) और accept="image/*;capture=camera"
(पैरामीटर) पुराने चश्मे का हिस्सा थे और उन्हें capture
(बूलियन) W3C कैंडिडेट की सिफारिश से बदल दिया गया था ।
समर्थन प्रलेखन: यह 2013 ओ'रिली पुस्तक और मेरा परीक्षण
capture
इसके बजाय प्रयास करें capture="camera"
। जिज्ञासु क्या डिवाइस और Android संस्करण।
ठीक है, देशी डिवाइस कैमरे तक पहुँचने के लिए एक नई HTML5 सुविधाएँ हैं - "getUserMedia API"
नोट: एचटीएमएल 5 एंड्रॉइड डिवाइस पर वेब पेज से फोटो कैप्चर को संभाल सकता है (कम से कम नवीनतम संस्करणों पर, हनीकॉम्ब ओएस द्वारा चलाया जाता है; लेकिन यह इसे आईफ़ोन पर नहीं बल्कि आईओएस 6 से संभाल सकता है)।
आप WEBRTC का उपयोग कर सकते हैं लेकिन दुर्भाग्य से यह सभी वेब ब्राउज़र द्वारा समर्थित नहीं है। यह कैसे पता चलता है जो ब्राह्मणों ने http://caniuse.com/stream का समर्थन किया है
और यह लिंक आपको एक विचार देता है कि आप इसे कैसे उपयोग कर सकते हैं (नमूना कोड)। http://www.html5rocks.com/en/tutorials/getusermedia/intro/
getUserMedia
ओवरकिल है, <input type="file" accept="image/*">
चाल चलेगा।
ऐपमॉबी एचटीएमएल 5 एसडीके ने एक बार देशी डिवाइस की कार्यक्षमता का उपयोग करने का वादा किया था - कैमरे सहित - एक एचटीएमएल 5-आधारित ऐप से, लेकिन अब Google के स्वामित्व वाली नहीं है। इसके बजाय, इस पोस्ट में HTML5- आधारित उत्तर आज़माएँ ।
आप getUserMedia का उपयोग करना चाहते हैं कैमरे का ।
यह ट्यूटोरियल ब्राउज़र से डिवाइस कैमरा एक्सेस करने की मूल बातें बताता है: https://medium.com/@aBenjamin765/make-a-camera-web-app-tutorial-part-1-ec284af8dddf
नोट: यह ज्यादातर एंड्रॉइड डिवाइसों पर, और iOS में सफारी में ही काम करता है।
यह ध्यान दिया जाना चाहिए कि सुरक्षा सुविधाओं को लागू किया गया है, जिसके लिए या तो ऐप को स्थानीयहोस्ट के तहत स्थानीय रूप से चलाया जाना चाहिए, या काम के लिए एसएसएल के लिए SSL के माध्यम से।
मुझे यह पता चला जब उपलब्ध डेमो में से कई की कोशिश कर रहा था और जब वे काम नहीं करते थे, तो वे निराश हो गए थे! देखें: नई सुरक्षा प्रतिबंध
मुझे नहीं लगता कि आप कर सकते हैं - एक W3C मसौदा एपीआई है ऑडियो या वीडियो प्राप्त करने के लिए कर सकते हैं, लेकिन किसी भी प्रमुख मोबाइल ओएस पर अभी तक कोई कार्यान्वयन नहीं हुआ है।
दूसरा सबसे अच्छा एकमात्र विकल्प फोनगैप का उपयोग करने के लिए डेनिस के सुझाव के साथ जाना है। इसका मतलब यह होगा कि आपको एक मूल ऐप बनाने और इसे मोबाइल ऐप स्टोर / बाज़ार में जोड़ने की आवश्यकता है।
मैं बिना किसी अतिरिक्त तंत्र के वेब ब्राउज़र से मोबाइल फोन के कैमरे तक पहुंचने के किसी भी तरीके के बारे में नहीं जानता (यानी फ्लैश या कंटेनर के कुछ प्रकार जो हार्डवेयर एपीआई तक पहुंच की अनुमति देता है)
बाद के लिए PhoneGap पर एक नज़र डालें: http://docs.phonegap.com/phonegap_camera_camera.md.html
इसके साथ आपको कम से कम आईओएस और एंड्रॉइड-आधारित उपकरणों पर कैमरे का उपयोग करने में सक्षम होना चाहिए।