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.