使用Async-Client 上传图片到服务器
需要 android-async-http-1.4.4.jar 如果使用android6.0的话还需要导入httpcore-4.4.jar
直接上代码
//几个重点需要注意导入的包 小心别倒错了
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;
//使用AsyncClient
private void upLoadImage(String url) {
try {
AsyncHttpClient client = new AsyncHttpClient();
//params参数中传入服务器需要上传的参数以及文件 File或者bitmap等
RequestParams params = new RequestParams();
params.put("user_id", "123");
params.put("File", file);
client.post(url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, org.apache.http.Header[] headers, byte[] responseBody) {
super.onSuccess(statusCode, headers, responseBody);
//访问成功的回调 responseBody是响应内容
Toast.makeText(getApplicationContext(),"onSuccess",Toast.LENGTH_LONG).show();
Log.e("onSuccess", new String(responseBody));
}
@Override
public void onFailure(int statusCode, org.apache.http.Header[] headers, byte[] responseBody, Throwable error) {
super.onFailure(statusCode, headers, responseBody, error);
//访问失败的回调
Toast.makeText(getApplicationContext(),"onFailure",Toast.LENGTH_LONG).show();
}
});
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
直接调用就好了,很简单。