【问题标题】:How do you Upload a raw image using AJAX?如何使用 AJAX 上传原始图像?
【发布时间】:2011-06-14 06:17:27
【问题描述】:

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

正如预期的那样,如果我尝试将 base64 字符串作为参数包含在内,我会收到错误 414 (Request-URI Too Large)

【问题讨论】:

    标签: android ajax image cordova


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我同意 Chuck 的观点,您最好使用 FileTransfer 对象。较大的 Base64 字符串会导致您的应用出现内存不足错误。 Zac 有一个关于这个主题的很好的教程:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-01-21
          • 2013-08-24
          • 1970-01-01
          • 1970-01-01
          • 2012-01-28
          • 1970-01-01
          • 2023-04-01
          相关资源
          最近更新 更多