pas de chargement de l’image dans la balise

J’essaie d’utiliser l’object navigator.camera pour capturer une image et la pousser dans une balise img. Je fais ce que la démo dit dans la documentation de phonegap comme ceci:

if(navigator.camera) { navigator.camera.getPicture(function(imageData){ var $image = document.getElementById('imageForTask'); image.src = "data:image/jpeg;base64," + imageData; console.log(imageData); }, null, {sourceType:1, quality: 50}); } else { alert("Camera not supported on this device."); } 

Cependant, lorsque je fais cela, un lien brisé apparaît dans imageForTask. Voici ce que dit la source: data:image/jpeg;base64,content://media/external/images/media/325 . Est-ce que quelqu’un sait pourquoi cela ne fonctionnerait pas? Je lutte avec cela depuis un moment. Merci!

-Geoff

Le type de destination par défaut a été modifié de DATA_URL à FILE_URI. Si vous ajoutez une option:

 destinationType : Camera.DestinationType.DATA_URL 

aux options que vous passez pour obtenir une image, vous pourrez le définir en tant que données codées en base64.

http://docs.phonegap.com/fr/1.6.1/cordova_camera_camera.md.html#cameraOptions_options

content://media/external/images/media/325 est le chemin d’access à une image, pas ses données binarys réelles. Vous devez utiliser l’API du système de fichiers pour obtenir le contenu du fichier, le coder en base64 et l’utiliser.