2016-12-12 13 views
0

私のWebアプリケーションターゲットでは、カメラから写真をアップロードして、その写真がユーザーアーカイブから選択されていないことを保証できます。カメラから写真をアップロードする方法

次のコードは正常に機能しますが、ユーザーは「写真を撮る」または「写真を選択する」を選択できます。 「写真を撮る」オプションだけを強制することは可能ですか?

<input id="myFileInput" type="file" accept="image/*" capture="camera"> 
<script> 
var myInput = document.getElementById('myFileInput'); 

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

    // Send file here 

} 

myInput.addEventListener('change', sendPic, false); 
</script> 

他のアイデアはありますか?

答えて

3

navigator.getUserMedia() APIでこれを行う方法がありましたが、廃止される危険性があり、SafariとWebkitではサポートされていませんでした。

navigator.mediaDevices.getUserMedia(myConstraints)でこれを行うための新しい標準がありますが、それはまだ広くサポートされていません(IEとSafariではサポートされていません)。

一貫して実装されたAPIが提供されるまで、JavaScriptはこれを達成できません。必要なのは、携帯電話の機能にアクセスできるネイティブアプリです.JavaScriptではその機能を使用できません。

-1

2012年からjavacでブラウザからカメラにアクセスできました。caniuse getUserMedia()を参照してください:使用されているブラウザの70%がサポートしています。あなたは携帯電話でのみ逮捕されていますか?その後、割合が高くなります。

このメソッドはnavigator.getUserMedia()として定義されていましたが、その後MediaDevices.getUserMedia()に移動しました。ちょうど1画像を生成するために、getUserMedia()を使用するには

(ビデオストリームではなく) このTutorial on mdnに従うと、それはdemoだ、それはあなたが求めているまさにありません。

+1

参照:https://developer.mozilla.org/en-US/docs/Web/API/Navigator/getUserMediaこれは推奨されていません。これは新しい標準で、https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMediaですが、広くサポートされていません。 –

+0

navigator.getUserMediaは推奨されていません。新しいメソッドはMediaDevices.getUserMedia()です。チュートリアル – bjelli

+0

に含まれているデモを試すことで確認できます。新しいメソッドはIEとSafariではサポートされていないため、あまり実用的ではありません。 –

関連する問題