Android文件上传实现
分析:利用抓包工具查看文件上传发现,文件上传的请求体十分的复杂,根本难以用
HttpURLConnection、HttpClient来实现。但是用AsyncHttpClient就能很轻易的实现了,只要
在RequestParams对象里面添加一对键值对,值存储文件的路径即可上传了。
AsyncHttpClient文件上传源代码:
记得先要导一下包
//创建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)
{
}
});
转载于:https://blog.51cto.com/4259297/1676570