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

问题描述:

我正在使用适用于Android的Loopj AsyncHttpClient,它的工作原理类似于魅力。 现在我正尝试将三个小图片上传到我的服务器,而且我遇到了一些问题。 这是非常奇怪的,因为它完美的作品,如果我上传4张图片,但是当我尝试到第三添加到相同的请求,服务器响应文件上传错误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); 

服务器无法处理的请求...... 我已经检查了FIL es,服务器端应用程序似乎工作正常(我试图发送邮递员的数据,它的工作原理)

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

thanx提前

+0

如何获取服务器端的文件? – kabuto178

+0

omg我确切的事情发生在我身上!非常感谢您的问候! thanx! – n3wb

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

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

+0

thanx!我会给它看看 –

+0

非常感谢回应!我会尝试这一点,当我到达它! = D – n3wb

+0

你救了我的命! – hguser

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

它的工作原理。