2016-02-07 28 views
9

Yerelden fotoğraflara göz atan ve fotoğraf çeken bir web uygulaması geliştiriyorum ve aynı zamanda fotoğraf makinesini kullanarak fotoğraf çekmek istiyorum. Aşağıdaki kodu kullanıyorum ve cihaz kamerasını yakalayabilirim.Web uygulamalarında web kamerası veya mobil fotoğraf makinesinden fotoğraf çekin

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

Şimdi, görüntü ve onchangeevent olsun base64 dönüştürmek istediğiniz ve bu sayfanın kendisine gösterilmesini istiyorum.

Lütfen bana yardım edin!

+1

Olası kopyalar (http: // stackoverflow .com/questions/8581081/nasıl yapılır-a-mobiles-kamera-a-web-app) –

+0

Olası çoğaltılabilir [html görüntüden base64 kodlanmış veri nasıl alınır] (http://stackoverflow.com/questions/15760764/nasıl yapılır-base64-kodlanmış-data-from-html-image) – Mazzy

+0

Bu, sayfadaki görüntüyü göstermek istediği için, çoğaltılamaz önce yüklemem gerekiyor. – Puzbie

cevap

7

Böyle yapabilirsiniz:

$('#cameraInput').on('change', function(e){ 
$data = e.originalEvent.target.files[0]; 
    $reader = new FileReader(); 
    reader.onload = function(evt){ 
    $('#your_img_id').attr('src',evt.target.result); 
    reader.readAsDataUrl($data); 
}}); 
+4

Değer kaybeden 'bind' vs' on' kullanıyorsunuz? – MCB

+3

Teşekkürler! Bunu daha önce kullanıyordum, şimdi 'bind' yerine '' 'kullanıyorum. –

1

Miles Erickson ve Henock Bongi, sen reader.readAsDataUrl ($ veri) almak gerekir ; yük boşalması için yük devretme dışında.

jQuery aşağıya bakın kullanmak istemiyorsanız:

function readFile(file) {              
 
    var reader = new FileReader(); 
 
    reader.onload = readSuccess;            
 
    function readSuccess(evt) {  
 
     document.getElementById("your_img_id").src = evt.target.result     
 
    }; 
 
    reader.readAsDataURL(file);            
 
} 
 

 
document.getElementById('cameraInput').onchange = function(e) { 
 
    readFile(e.srcElement.files[0]); 
 
};

[Nasıl bir web uygulamasından bir cep telefonunun kamerasına erişme?] Arasında
+0

2 yaşında bir yazıya cevap vermenin amacı nedir? her iki şekilde de FileReader – Endless

+1

kullanmak yerine URL.createObjectURL kullanmak daha iyidir. Benim gibi insanlar neden 20 dakika sürüyor, neden okuyucu.onload ateşlemiyor :) –

İlgili konular