모바일 용 웹 앱 (기본 앱 아님)에서 사진을 찍고 업로드하고 싶지만 Adobe Flash를 사용하고 싶지 않습니다. 이것을 할 수있는 방법이 있습니까?
모바일 용 웹 앱 (기본 앱 아님)에서 사진을 찍고 업로드하고 싶지만 Adobe Flash를 사용하고 싶지 않습니다. 이것을 할 수있는 방법이 있습니까?
답변:
iPhone iOS6 및 Android ICS부터 HTML5에는 장치에서 사진을 찍을 수있는 다음과 같은 태그가 있습니다.
<input type="file" accept="image/*" capture="camera">
Capture
카메라, 캠코더 및 오디오와 같은 값을 사용할 수 있습니다.
나는이 태그가 iOS5에서 확실히 작동하지 않을 것이라고 생각합니다.
<input type="file" accept="image/*;capture=camera">
대신 해야한다고 생각 합니다. MDN에 따르면 요소에 capture
대한 속성 이 없습니다 input
.
capture="camera"
(문자열)과는 나이는 accept="image/*;capture=camera"
2012 년 대체되었습니다 capture="capture"
(부울). 이 속성은 라이브러리에서 선택하지 않고 강제로 캡처하는 데 사용됩니다. 참조 사양 및 HTML 미디어 캡처에 대한 올바른 구문
요즘 적어도 안드로이드에서는 비교적 쉽습니다. 일반 파일 입력 태그 만 사용하면 사용자가이 태그를 클릭하면 카메라 (또는 파일 관리자 등)를 사용하여 파일을 업로드 할 것인지 묻습니다. 카메라로 사진을 찍기 만하면 자동으로 추가 및 업로드됩니다.
아이폰에 대해서는 전혀 모른다. 누군가가 그것에 대해 깨달을 수 있습니다. 편집 : 아이폰도 비슷하게 작동합니다.
입력 태그 샘플 :
<input type="file" accept="image/*" capture="camera">
multiple
Android와 iOS 모두에서 작동합니다. HTML 미디어 캡처를위한 올바른 구문
이것을 업데이트하기 위해 표준은 다음과 같습니다.
<input type="file" name="image" accept="image/*" capture="environment">
주변 카메라 (후면)에 액세스하고
<input type="file" name="image" accept="image/*" capture="user">
사용자 용 (전면) 카메라 용. 비디오에 액세스하려면 이름에서 "image"대신 "video"를 사용하십시오.
iOS 10.3.3, 펌웨어 760을 실행하는 iPhone 5c에서 테스트되었으며 정상적으로 작동합니다.
iOS 6 이상 및 Android 2.2 이상의 Safari 및 Chrome은 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 O'Reilly 서적 및 테스트
capture
대신 사용해보십시오 capture="camera"
. 어떤 기기 및 Android 버전이 궁금합니다.
WEBRTC를 사용할 수 있지만 불행히도 모든 웹 브라우저에서 지원되는 것은 아닙니다. 아래는 브라우저가 지원하는 링크를 보여줍니다. http://caniuse.com/stream
그리고이 링크는 어떻게 액세스 할 수 있는지에 대한 아이디어를 제공합니다 (샘플 코드). http://www.html5rocks.com/en/tutorials/getusermedia/intro/
getUserMedia
는 과잉이며 <input type="file" accept="image/*">
트릭을 수행합니다.
AppMobi HTML5 SDK는 HTML5 기반 앱에서 카메라를 포함한 기본 장치 기능에 대한 액세스를 약속했지만 더 이상 Google 소유가 아닙니다. 대신 이 게시물에서 HTML5 기반 답변을 사용해보십시오 .
getUserMedia 를 사용하여 카메라에 액세스 하려고합니다 .
이 자습서는 브라우저에서 장치 카메라에 액세스하는 기본 사항을 간략하게 설명합니다. https://medium.com/@aBenjamin765/make-a-camera-web-app-tutorial-part-1-ec284af8dddf
참고 : 이것은 대부분의 Android 기기와 iOS의 Safari에서만 작동합니다.
나는 당신이 할 수 있다고 생각하지 않습니다- 오디오 또는 비디오를 얻는 W3C 초안 API 가 있지만 주요 모바일 OS에는 아직 구현이 없습니다.
두 번째로 좋은 방법은 PhoneGap 사용에 대한 Dennis의 제안과 함께하는 것입니다. 즉, 기본 앱을 만들어 모바일 앱 스토어 / 시장에 추가해야합니다.
추가 메커니즘없이 웹 브라우저에서 휴대 전화 카메라에 액세스하는 방법을 모릅니다 (예 : 플래시 또는 하드웨어 API에 액세스 할 수있는 컨테이너 유형)
후자는 PhoneGap을 살펴보십시오. http://docs.phonegap.com/phonegap_camera_camera.md.html
이를 통해 최소한 iOS 및 Android 기반 장치에서 카메라에 액세스 할 수 있어야합니다.