Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用AJAX从Phonegap移动应用程序上传图片?_Ajax_Upload_Camera_Cordova - Fatal编程技术网

如何使用AJAX从Phonegap移动应用程序上传图片?

如何使用AJAX从Phonegap移动应用程序上传图片?,ajax,upload,camera,cordova,Ajax,Upload,Camera,Cordova,我有Phonegap移动应用程序,我正在使用摄像头API使用以下代码捕捉图片: navigator.camera.getPicture(function(data){ $.post('http://www.example.com', {data:data}); }, function(msg){alert(msg);}, { quality: 20 }); 这是可以的,但是需要根据所使用的移动设备将质量选项设置为一些合理的值。有些设备可以处理高于70的值,但低端设备即使在值为20时也会出现

我有Phonegap移动应用程序,我正在使用摄像头API使用以下代码捕捉图片:

navigator.camera.getPicture(function(data){
  $.post('http://www.example.com', {data:data});
}, function(msg){alert(msg);}, { quality: 20 });
这是可以的,但是需要根据所使用的移动设备将质量选项设置为一些合理的值。有些设备可以处理高于70的值,但低端设备即使在值为20时也会出现问题。Phonegap文档提到了这些问题,它们是由所需内存引起的,因为整个图片存储在Base64字符串中。Phonegap建议指定选项
destinationType:Camera.destinationType.FILE\u URI

但据我所知,我将获得存储图片的本地文件路径,我必须使用FileReaderAPI将其读入一个变量。然后,
$。按我现在的方式再次发布

在我看来,如果我将destinationType从Base64更改为FILE_URI,那么在将其从本地文件读取到变量并发布时,我不会得到任何东西,并且仍然存在相同的内存问题


我的想法对吗?还是我遗漏了什么,使用FILE_URI destinationtype会有一些好处?还是有更好的上传照片的方法?

好的,那么新的1.0.0 Phonegap文档正好回答了这个问题。可在以下网址找到: