android使用AsyncHttpClient上传图片以及参数到服务器

使用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();
    }
}

直接调用就好了,很简单。

 

 

 

 

 

 

 

你可能感兴趣的:(Android)