Android使用开源框架实现文件的上传 asyncHttpClient

来源:互联网 发布:类似按键精灵的软件 编辑:程序博客网 时间:2024/05/12 05:38

使用
public void fileupload(View v){
try{
EditText et_filepath = (EditText) findViewById(R.id.et_filepath);
//获取输入的文件地址
String filepath = et_filepath.getText().toString().trim();

    //使用开源Utils做上传操作    AsyncHttpClient asyncHttpClient = new AsyncHttpClient();    RequestParams params = new RequestParams();    params.put("filename", new File(filepath));    //url : 请求服务器的url    asyncHttpClient.post("http://192.168.13.83:8080/UploaderServlet", params, new AsyncHttpResponseHandler() {        @Override        public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {            if(statusCode == 200){                Toast.makeText(MainActivity.this, "上传成功", 0).show();            }        }        @Override        public void onFailure(int statusCode, Header[] headers,                byte[] responseBody, Throwable error) {        }    });    }catch (Exception e) {        e.printStackTrace();    }}

实现数据的传输

    get方式:                public static void requestNetForGetLogin(final Context context,final Handler handler ,final String username, final String password) {            //使用HttpClient请求服务器将用户密码发送服务器验证            try{            String path = "http://192.168.13.83:8080/itheima74/servlet/LoginServlet?username="+URLEncoder.encode(username,"utf-8")+"&pwd="+URLEncoder.encode(password,"utf-8");            //创建一个AsyncHttpClient对象            AsyncHttpClient asyncHttpClient = new AsyncHttpClient();            asyncHttpClient.get(path, new AsyncHttpResponseHandler() {                @Override                public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {                    //statusCode:状态码    headers:头信息  responseBody:返回的内容,返回的实体                    //判断状态码                    if(statusCode == 200){                        //获取结果                        try {                            String result = new String(responseBody,"utf-8");                            Toast.makeText(context, result, 0).show();                        } catch (UnsupportedEncodingException e) {                            // TODO Auto-generated catch block                            e.printStackTrace();                        }                    }                }                @Override                public void onFailure(int statusCode, Header[] headers,                        byte[] responseBody, Throwable error) {                    System.out.println("...............onFailure");                }            });            }catch (Exception e) {                e.printStackTrace();            }}    post方式:                String path = "http://192.168.13.83:8080/itheima74/servlet/LoginServlet";        AsyncHttpClient asyncHttpClient = new AsyncHttpClient();        RequestParams params = new RequestParams();        params.put("username", username);        params.put("pwd", password);        //url:   parmas:请求时携带的参数信息   responseHandler:是一个匿名内部类接受成功过失败        asyncHttpClient.post(path, params, new AsyncHttpResponseHandler() {            @Override            public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {                //statusCode:状态码    headers:头信息  responseBody:返回的内容,返回的实体                //判断状态码                if(statusCode == 200){                    //获取结果                    try {                        String result = new String(responseBody,"utf-8");                        Toast.makeText(context, result, 0).show();                    } catch (UnsupportedEncodingException e) {                        // TODO Auto-generated catch block                        e.printStackTrace();                    }                }            }            @Override            public void onFailure(int statusCode, Header[] headers,                    byte[] responseBody, Throwable error) {            }        });
0 0