良い質問ですね。
自分も、写真共有サイトを作った時に、スマホからのアップロードで判別できるといいなあと思っていました。
以下2点、ご提案させていただきます。
- 取得した素材からは、ファイル名と取得時間ぐらいしか判別できないので、その点で判断する。
index.html
1<html>
2<head>
3 <title>カメラ取得かファイル選択可を判別</title>
4</head>
5<body>
6
7 <h1>FileUpload</h1>
8
9 <input type="file" name="test">
10 <div class="message" style="white-space:pre;"></div>
11
12<script>
13document.querySelector("input[type='file']").addEventListener("change" , function(e){
14 var msg = document.querySelector(".message");
15 var txt = "";
16 for(var i=0; i<e.target.files.length; i++){
17 txt += i+" : \n";
18 for(var j in e.target.files[i]){
19 txt += j +" : "+ e.target.files[i][j] +"\n";
20 }
21 txt += "\n";
22 }
23
24 msg.textContent += txt;
25});
26</script>
27
28</body>
29</html>
- スマホの場合はカメラのみ起動
INPUTタグ
1<input type="file" name="test" capture>
こうすると、カメラ起動のみになります。