Android 上传图片并添加参数 PHP接收

php端接收代码:

    public function get_file(){
        $local_path  = "./Public/daixu_picture/figure/";//服务器文件的存放路径
        $img_name = basename( $_FILES['uploadedfile']['name']);//服务器中的图片名(uploadedfile是键值名,可自行设定)
        $target_path = $local_path.$img_name;
        $result = move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path);
        if($result) {
            echo "上传成功";
        } else{
            echo "上传失败";
        }
    }

 

android端代码:

/*
    * 作用:上传图片,并携带参数
    * 传入参数:http_url(服务器目标地址),filepath(本机图片的地址)
    */
    public void uploadImage(final String http_url, final String filepath){
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    File file = new File(filepath);

                    if (!file.exists()) {
                        Log.i("错误", "文件不存在");
                    }

                    HttpClient client = new DefaultHttpClient();

                    HttpPost post = new HttpPost(http_url);

                    FileBody fileBody = new FileBody(file, "image/jpeg");
                    MultipartEntity entity = new MultipartEntity();

                    entity.addPart("uploadedfile", fileBody);//uploadedfile是图片上传的键值名
                    entity.addPart("key_app", new StringBody("1",Charset.forName("UTF-8")));//设置要传入的参数,key_app是键值名,此外传参时候需要指定编码格式

                    post.setEntity(entity);

                    HttpResponse response = client.execute(post);

                    if (response.getStatusLine().getStatusCode() == 200) {

                        HttpEntity httpEntity = response.getEntity();

                        String result = EntityUtils.toString(httpEntity, "utf-8");

                        Log.e("返回的结果",result);
                    }
                }catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }

 

posted @ 2016-09-11 18:35  Red_Code  阅读(4199)  评论(0编辑  收藏  举报