你如何使用AJAX上传原始图像?

时间:2011-06-14 06:17:27

标签: android ajax image cordova

我目前正在使用PhoneGap从移动设备的相机获取base64编码图像,我想将图像上传到服务器然后存储。不确定什么是正确的方法?

正如所料,如果我尝试将base64字符串作为参数包含,我会收到错误414(Request-URI Too Large)

3 个答案:

答案 0 :(得分:3)

即使您使用POST,接受POST的服务器也需要能够解码base64参数。幸运的是,PhoneGap API提供了一种更好的方法来使用FileTransfer

您需要获取图像的文件句柄而不是base64编码。使用文件句柄解决了获取JavaScript内存不足错误的问题。这也消除了任何跨站点脚本问题,因为PhoneGap使用本机代码来执行帖子而不是使用浏览器。希望有所帮助。

答案 1 :(得分:2)

我同意Chuck你最好使用FileTransfer对象。大型Base64字符串将导致应用程序内存不足。 Zac有一个很好的教程:

http://zacvineyard.com/blog/2011/03/25/upload-a-file-to-a-remote-server-with-phonegap/

答案 2 :(得分:1)

为什么不使用HTTP POST而不是HTTP GET?