我正在使用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
答案 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));
有效。