【问题标题】:Uploading multiple images to server causes error将多个图像上传到服务器会导致错误
【发布时间】:2014-01-21 20:41:24
【问题描述】:

我正在使用适用于 Android 的 Loopj AsyncHttpClient,它就像一个魅力。 现在我正在尝试将三个小图像上传到我的服务器,但我遇到了一些问题。 这很奇怪,因为如果我上传 2 张图片,它可以完美运行,但是当我尝试向同一个请求添加第三张图片时,服务器响应是文件上传的错误 3:

UPLOAD_ERR_PARTIAL
Value: 3; The uploaded file was only partially uploaded.

所以当我这样做时:

params.put("photo1", f1);
params.put("photo2", f2);

它有效...但是当我添加第三个时:

params.put("photo1", f1);
params.put("photo2", f2);
params.put("photo3", f3);

服务器无法处理请求... 我检查了文件,服务器端应用程序似乎工作正常(我尝试用邮递员发送数据,它工作正常)

你知道为什么 AsyncHttpClient 上传 3 个文件失败但上传 2 个文件成功吗??

提前感谢

【问题讨论】:

  • 如何获取服务器端的文件?
  • 天哪,我确实发生了这样的事情!非常感谢您的提问!

标签: php android post android-async-http


【解决方案1】:

此库的 1.4.4 版本已引入此问题。我还没有时间深入挖掘,但我怀疑这个特定的提交:https://github.com/loopj/android-async-http/commit/9f73dc722fdf8b564bf1487eef395d0b7e4ae862 负责这个问题。

作为一种解决方法,现在使用 1.4.3 版。它应该可以正常工作。

【讨论】:

  • 谢谢!我去看看
  • 非常感谢您的回复!我也会试试这个,当我得到它的时候! =D
【解决方案2】:

更新到 1.4.4 后我遇到了类似的问题。如果我上传 2 张图片,服务器只会得到 1 张图片(如果是 3 张,将得到 2 张)。经过搜索和测试,我知道服务器,我的代码和1.4.3都可以。

今天我试试这个:

params.put("photo1", new FileInputStream(f1));
params.put("photo2", new FileInputStream(f2));
params.put("photo3", new FileInputStream(f3));

有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多