Comment faire pour télécharger des photos à partir de Phonegap application mobile à l'aide d'AJAX?

J'ai Phonegap application mobile et je suis en utilisant des API d'Appareil photo pour capturer l'image à l'aide de ce code:

navigator.camera.getPicture(function(data){
  $.post('http://www.example.com', {data:data});
}, function(msg){alert(msg);}, { quality: 20 });

Ce serait OK, mais il est nécessaire de définir la qualité de l'option à une valeur raisonnable en fonction de l'appareil mobile utilisé. Certains peuvent manipuler des valeurs supérieures à 70, mais bas de gamme, les appareils ont des problèmes, même avec la valeur de 20. Phonegap documentation mentionne ces problème, qu'ils sont causés par la mémoire nécessaire, car l'ensemble de l'image est stockée dans la chaîne Base64. Phonegap suggère plutôt de spécifier l'option destinationType: Camera.DestinationType.FILE_URI

Mais autant je comprends cela, je souhaiterais obtenir local chemin du fichier de l'image stockée, qui je dois le lire en une seule variable à l'aide de FileReader API. Et puis $.postde nouveau de la même manière que je suis en train de faire maintenant.

Pour moi, il me semble, que si je voulais changer le destinationType de Base64 pour FILE_URI, je n'aurais pas gain de rien et toujours les mêmes problèmes de mémoire lors de la lecture à partir du fichier local de variable et de l'afficher.

Est ma pensée droite ? Ou ai-je raté quelque chose et il y aurait quelque avantage de l'utilisation de FILE_URI destionationType ? Ou est-il une meilleure façon de télécharger de la prise de vue ?

OriginalL'auteur Frodik | 2011-08-01