Android文件上传实现
分析:利用抓包工具查看文件上传发现,文件上传的请求体十分的复杂,根本难以用
HttpURLConnection、HttpClient来实现。但是用AsyncHttpClient就能很轻易的实现了,只要
在RequestParams对象里面添加一对键值对,值存储文件的路径即可上传了。
AsyncHttpClient文件上传源代码:
记得先要导一下包
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
//创建AsyncHttpClient对象
AsyncHttpClient asyncHttpClient =
new
AsyncHttpClient();
//创建RequestParams对象,封装要上传的数据或文件。
RequestParams params =
new
RequestParams();
params.put(
"music"
, uploadFile);
// Upload a File
//执行post方法。
//注意最后一个类new的是参数子类的的实现类AsyncHttpResponseHandler
asyncHttpClient.post(getApplicationContext(), servletPath,
params,
new
AsyncHttpResponseHandler() {
@Override
public
void
onSuccess(
int
statusCode,Header[] headers,
byte
[] responseBody)
{
if
(statusCode ==
200
)
{
Toast.makeText(getApplicationContext(),
"文件上传成功"
,
0
).show();
}
else
{
Toast.makeText(getApplicationContext(),
"服务器忙"
,
0
).show();
}
}
@Override
public
void
onFailure(
int
statusCode,Header[] headers,
byte
[] responseBody,Throwable error)
{
}
});
|
本文转自屠夫章哥 51CTO博客,原文链接:http://blog.51cto.com/4259297/1676570,如需转载请自行联系原作者