1

我正在使用 Forge 文件模块尝试从图库中上传图像。Forge 在 Android 2.3 上运行,图像选择捕获位工作正常。但是当我尝试使用 Request.Ajax() 发送文件时,我得到一个伪造异常。

我已经从下面的 Catalyst 日志中转储了输出

Request URL:forge.request.ajax
Request Method:undefined
Status Code:400 error

{ url: 'http://example.com/',
  username: null,
  password: null,
  data: null,
  headers: { Accept: '*/*', 'Content-Type': 'image/jpg' },
  timeout: 60000,
  type: 'POST',
  boundary: null,
  files: 
   [ { uri: 'content://media/external/images/media/212#Intent;end',
       name: 'Image',
       height: 500,
       width: 500 } ],
  fileUploadMethod: 'raw' }  // <- got this from a blog post, 

这就是我得到的回报

{ type: 'UNEXPECTED_FAILURE',
  message: 'Forge Java error: FileNotFoundException: http://example.com/' }

我检查了服务器端并确认那里没有问题(制作了一个在那里发布的测试脚本)。如果我删除文件附加调用,该应用程序将发布到服务器。

我查看了此处发布的示例代码,但它似乎使用的是旧 API,我找不到一些方法 - https://github.com/trigger-corp/photo-log/blob/master/ photolog.js

我在文件调用中做错了吗?

4

1 回答 1

1

您的 Catalyst 输出没有明显的问题:FileNotFoundException刚刚表明服务器端出了点问题。在这种情况下,我猜 example.com 并不期待多部分编码的 POST。

我们昨天发布了一些代码,这使我们的 request.ajax 错误消息更加清晰:我建议您重新构建并重新运行您的应用程序,看看您是否能分辨出服务器端问题是什么。

于 2012-05-09T08:30:08.450 回答