Android上传文件至PHP服务器

1.PHP端服务器:

<?php//链接数据库include ("config/db.php"); //获取用户id$userid = $_POST['userid']; //处理上传文件$base_path = "upload/";$fileName=$_FILES['file']['name'];$name=explode('.',$fileName);     $userpicads = $base_path .  'user_'.$userid. '.' .$name[1]; /*返回状态码:300: 处理成功301:服务器异常*/$status=301; if (move_uploaded_file ( $_FILES ['file'] ['tmp_name'], $userpicads )) {     $status=300;} else {     $status=301;} //如果保存文件成功,更新数据库if($status==300){    $sql = "update mh_user set userpicads='{$userpicads}' where id={$userid}";    $pdo->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) {                //在这里处理连接失败的处理...            }        });    }});

更多相关文章

  1. Android(安卓)点击两次返回键退出程序
  2. Android(安卓)Intent原理分析
  3. android JNI处理图片的例子
  4. Android(安卓)端如何添加自定义表情
  5. Fragment沉浸式
  6. Android访问WCF(下篇)-客户端开发
  7. android onTouch事件的派发
  8. 为Android内核添加新驱动,并添加到menuconfig菜单
  9. androidのMMS短信发送过程(二)

随机推荐

  1. Android Studio GitHub 提交项目代码
  2. 通过修改hosts文件成功更新Android sdk .
  3. android默认焦点设置的方法
  4. Android中Alarm的机制
  5. 第一行代码 Android读书笔记(一)
  6. Now in Android:02 - 欢迎使用 Android St
  7. android动态加载Jar/dex--原创
  8. Android使用NinePatch图片实现大小可变的
  9. Android动态权限管理:Android Runtime Per
  10. 在Cocos2d-x中处理Android 系统设备的Men