Chargement d'une image à localStorage et réglage d'une image src à cet emplacement
J'ai été autorisé pour un utilisateur de télécharger une image pour le stockage local, mais je veux être en mesure de prendre cette image et de remplir un élément de l'image sur la page avec que.
<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>
Je suis à la recherche de quelque chose qui va réussir à me donner l'URL de l'image dans le stockage, le considérant comme "fenêtre.localStorage[nom]" ne renvoie la valeur jumelé avec cette clé.
Merci!
- Exactement pourquoi vous voulez faire ça? Est cache du navigateur ne suffit pas à garder vos images sur la machine hôte?
- Je veux que l'utilisateur puisse modifier le contenu d'une page (c'est à dire que je veux à l'utilisateur de télécharger leur image, pas le mien, et alors que l'image s'affiche sur la page)
- - Je l'obtenir! Mayge vous pouvez convertir l'image en base64 et puis le mettre dans src="data:image/png;<..base64 données d'image...>". Vous devez utiliser un fichier HTML5 api pour lire le fichier image puis de convertir les données en base64. Ce post va vous aider sur la conversion: stackoverflow.com/questions/246801/...
Vous devez vous connecter pour publier un commentaire.
Eh bien, vous pouvez stocker les données réelles de l'image dans localStorage (mais méfiez-vous - il y a une limite)
Ont un coup d'oeil à le HTML5 rocks tutoriel & faites défiler jusqu'au morceau dirigé de la LECTURE de FICHIERS
Ici, le fichier est en cours de lecture, puis la sortie de la mettre dans le img:src de la balise. Vous pouvez en plus le mettre dans localStorage
Exemple: http://jsfiddle.net/8V9w6/ - sélectionnez un fichier d'image, voir la vignette? Puis rechargez la page. La vignette doit y rester. (Œuvres les plus récentes de Chrome/Firefox)