【发布时间】:2011-08-07 18:17:03
【问题描述】:
我正在使用 android sdk 附带的 apache httpclient 使用 multipart http post 在服务器上上传文件。问题是,当我关闭设备上的 wifi 连接并且在设置 sotimeout 和 connectiontimeout 后设备无法访问互联网和事件时,代码会无限期地挂在 httpclient.execute() 语句上,并且每次都会发生。
我的代码是:
HttpClient httpclient = new DefaultHttpClient();
HttpConnectionParams.setSoTimeout(httpclient.getParams(), 5000);
ConnManagerParams.setTimeout( httpclient.getParams(), 5000 );
HttpConnectionParams.setSocketBufferSize(httpclient.getParams(), 8192);
HttpPost("http://myurl");
File file = new File(fileAbsolutePath);
MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = new FileBody(file);
mpEntity.addPart("uploadedfile", cbFile);
httppost.setEntity(mpEntity);
if(!backupCancel)
{
System.out.println("<<<<<<<<<<<<<<<<<<<<<<Actually transferring file>>>>>>>>>>>>>>>");
HttpResponse response = httpclient.execute(httppost);
}
【问题讨论】:
标签: android