2012-07-20 5 views
6

Bir kullanıcının yerel depolama birimine resim yüklemesine izin verdim ancak daha sonra bu görüntüyü alıp sayfadaki bir görüntü öğesinin doldurulmasını istiyorum Bununla.LocalStorage görüntüsünü ve bu konuma bir resim src'si yerleştirme

<h3>Please upload the image you wish to use.</h3> 
<input id="photoin" type="file" accept="image/*;capture=camera"></input> 
<a href="#delete_1" data-role="button" onClick="save()">Submit</a> 

<script> 
    var i = 0; 
    function save(){     
     var input = document.getElementById("photoin").value; 
     var name = "photo_" + i; 
     localStorage.setItem(name, input);  
     $("#QR").src = window.localStorage[name]; 
     i++; 
    } 
</script> 

ben gibi görerek, başarılı depoda bana resmin URL'sini verecek bir şey arıyorum "window.localStorage [ad]" Sadece bu anahtar ile eşleştirilmiş değeri döndürür.

Teşekkürler!

+0

Tam olarak neden bunu yapmak istiyorsun? Tarayıcı önbelleği, resimlerinizi ana makinede tutmak için yeterli değil mi? – devundef

+0

Kullanıcının bir sayfadaki içeriği değiştirebilmesini istiyorum (yani kullanıcının kendi görüntülerini yüklemesini istiyorum, benimki değil ve o görüntüde göründüğümde) – NodeNodeNode

+0

Anladım! Mayge'i görüntüyü base64'e dönüştürebilir ve daha sonra src = "data: image/png; <.. base64 image data ...>" yazabilirsiniz. Görüntü dosyasını okumak için HTML5 dosyası api kullanmanız ve ardından verileri base64'e dönüştürmeniz gerekir. Bu gönderi size yardımcı olacaktır: http://stackoverflow.com/questions/246801/how-can-you-encode-to-base64-using-javascript#246813 – devundef

cevap

12

Iyi (gerçi dikkatli olun - bir sınırı var) localStorage gerçek görüntü verilerini saklayabilir

İşte

dosya OKUMA DOSYALARI başlı aşağı bit the HTML5 rocks tutorial & kaydırma göz at okunuyor ve çıktı img: src etiketine koyuluyor. Ek olarak bunu localStorage

'a ekleyebilirsiniz. Örnek: http://jsfiddle.net/8V9w6/ - Bir resim dosyası seçin, küçük resme bakın. Sonra sayfayı yeniden yükleyin. Küçük resim orada kalmalıdır. (En son Chrome/Firefox çalışır)

+0

tam olarak ne istiyorum! Onu deneyeceğim ve çalışmasının nasıl olduğunu anlatayım! – NodeNodeNode