当前位置: 代码迷 >> Android >> 大伙儿帮忙看下这段代码上传多张图片为什么不行?除了图片其他信息可以上传
  详细解决方案

大伙儿帮忙看下这段代码上传多张图片为什么不行?除了图片其他信息可以上传

热度:59   发布时间:2016-04-27 22:32:49.0
大家帮忙看下这段代码上传多张图片为什么不行?除了图片其他信息可以上传~
求指点~

private JSONObject doPostMultiPhoto(JSONObject c, Boolean cookieFlag,
List<ImageBean> imgList) {
BasicHttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 10000);
HttpConnectionParams.setSoTimeout(httpParams, 30000);
HttpClient httpclient = new DefaultHttpClient();

HttpPost post = new HttpPost(StaticString.DIANPING_HOST);
MultipartEntity entity = new MultipartEntity();
try {
entity.addPart("msg",
new StringBody(c.toString(), Charset.forName("UTF-8")));
if (imgList.size() != 0) {
for (int i = 0; i < imgList.size(); i++) {
String srcPath = imgList.get(i).getPicPath();
entity.addPart("photo", new FileBody(new File(srcPath),
"image/*"));
}
}
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if (cookieFlag) {
String cookieStr = String.format(
"UTMPKEY=%s;UTMPNUM=%s;UTMPUSERID=%s",
StaticString.appData.getUTMPKEY(),
StaticString.appData.getUTMPNUM(),
StaticString.appData.getUTMPUSERID());
post.setHeader("Cookie", cookieStr);
}

post.setEntity(entity);

JSONObject result = null;
try {
HttpResponse response = httpclient.execute(post);
String stre = EntityUtils.toString(response.getEntity());
String etiry = null;

etiry = stre;
test = stre;

if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
result = new JSONObject(etiry);
if (BuildConfig.DEBUG) {
Log.d("LogicProxy", "result:\n" + result.toString());
JSONArray Log_s = result.names();
if (Log_s != null) {
Log.d("LogicProxy", "receive from service: ");
for (int i = 0; i < Log_s.length(); i++) {
Log.d("LogicProxy", Log_s.getString(i) + ": "
+ result.getString(Log_s.getString(i)));
}
}
Log.v("LogicProxy",
"\n**********************end*****************************************************");
}
if (!cookieFlag) {
this.processSession(result);
}
} else {
Log.e("", "tupianshagnchuan type exception");
// throw new WSError("http返回状态异常", 0);
}
} catch (Exception e) {
// TODO: handle exception
}

return result;
}


------解决思路----------------------

for (int i = 0; i < imgList.size(); i++) {
                    String srcPath = imgList.get(i).getPicPath();
                    entity.addPart("photo", new FileBody(new File(srcPath),
                            "image/*"));
                }

这一段循环,每个名字都一样,改一下
entity.addPart("photo"+i, new FileBody(new File(srcPath),
  相关解决方案