2013-03-03 10 views
13

私はJQuery Mobileを使用して小さなモバイルWebアプリケーションを構築しています。今度は、電話で画像を選択してその情報を取得して、後でアプリからアップロードできるようにしたいと考えています。これはすべて可能ですか?jQuery mobile後でアップロードするための画像を選択

私はオフラインの状況にあり、アップロードしたい画像を選択する必要があります。

答えて

28

ターゲットの携帯電話のブラウザはfile upload input typeFileAPIをサポートしている場合(例:iOSの6.0のSafari)

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

その後、あなたはあなたのユーザーが既存のファイルを選択する、あるいはショットを撮るためにカメラを使用してみましょう、といくつかの属性を読み取ることができます(ファイル名、サイズ、種類、変更日)を指定します。

$("input[type=file]").change(function(){ 
    var file = $("input[type=file]")[0].files[0]; 
    alert(file.name + "\n" + 
      file.type + "\n" + 
      file.size + "\n" + 
      file.lastModifiedDate); 
}); 

FileReaderを使用して、選択したファイルのプレビューを行うこともできます。ここで

<div id="preview"></div> 
displayAsImage3(file, "preview"); 

function displayAsImage3(file, containerid) { 
    if (typeof FileReader !== "undefined") { 
     var container = document.getElementById(containerid), 
      img = document.createElement("img"), 
      reader; 
     container.appendChild(img); 
     reader = new FileReader(); 
     reader.onload = (function (theImg) { 
      return function (evt) { 
       theImg.src = evt.target.result; 
      }; 
     }(img)); 
     reader.readAsDataURL(file); 
    } 
} 

jsFiddle後半に答えて申し訳ありません

+0

を進めています。はい、私はリーダーを使い、文字列 "DataURL"として画像を読むことができました。ありがとうございました! –

+0

ようこそ。 – peterm

+0

ありがとう! @peterm - これは素晴らしいデモです。とても役に立ちます。あなたのコードに私のモバイルアップロードを基づいています。 –

関連する問題