Android上传文件至PHP服务器

Android上传文件至PHP服务器

1.PHP端服务器:

exec($sql);
}
 
//输出返回结果
$ret = array('status'=> $status);
echo json_encode($ret);
 
?>
2.安卓端添加网络权限:

3.安卓端导入以下jar包(这些很容易就能下载到):

  android-async-http-1.4.7.jar (必须)
  gson-2.1.jar (可选,解析json格式用)
  httpcore-4.4.4.jar(可选,用Android Stutio可能还需要导入这个)

4.安卓主要代码:

int userid = 1;
String username = "HelloWorld";
String filepath = "/mnt/sdcard/Download/mm.jpg";
String uploadUrl = "http://192.168.1.103/test/upload.php";
 
 
btn_upload.setOnClickListener(new View.OnClickListener() {
 
    @Override
    public void onClick(View v) {
         
        AsyncHttpClient client = new AsyncHttpClient();
        RequestParams params = new RequestParams();
         
        //添加参数
        params.put("userid", userid);
        params.put("username", username);
         
        try {
            //添加文件
            params.put("file", new File(filepath));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
         
        client.post(uploadUrl, params, new AsyncHttpResponseHandler() {
            @Override
            public void onSuccess(int i, org.apache.http.Header[] headers, byte[] bytes) {
                try {
                    //获取返回内容
                    String resp = new String(bytes, "utf-8");
                     
                    //在这里处理返回的内容,例如解析json什么的...
                     
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }
            }
 
            @Override
            public void onFailure(int i, org.apache.http.Header[] headers, byte[] bytes, Throwable throwable) {
                //在这里处理连接失败的处理...
            }
        });
    }
});

你可能感兴趣的:(Android)