将多个图像上载到服务器会导致错误

时间:2014-01-21 20:41:25

标签: php android post android-async-http

我正在使用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 ??

成功 提前

thanx

2 个答案:

答案 0 :(得分:2)

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

作为解决方法,暂时使用1.4.3版。它应该工作正常。

答案 1 :(得分:0)

更新到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));

有效。