经过实践,android与php交互,已经成功搞定!

一、Android 端

 /**     * 上传文件及参数     */    private void sendMultipart(){        File sdcache = getExternalCacheDir();        int cacheSize = 10 * 1024 * 1024;        //设置超时时间及缓存        OkHttpClient.Builder builder = new OkHttpClient.Builder()                .connectTimeout(15, TimeUnit.SECONDS)                .writeTimeout(20, TimeUnit.SECONDS)                .readTimeout(20, TimeUnit.SECONDS)                .cache(new Cache(sdcache.getAbsoluteFile(), cacheSize));        OkHttpClient mOkHttpClient=builder.build();        MultipartBody.Builder mbody=new MultipartBody.Builder().setType(MultipartBody.FORM);        List fileList=new ArrayList();        File img1=new File("/sdcard/wangshu.jpg");        fileList.add(img1);        File img2=new File("/sdcard/123.jpg");        fileList.add(img2);        int i=0;        for(File file:fileList){            if(file.exists()){                Log.i("imageName:",file.getName());//经过测试,此处的名称不能相同,如果相同,只能保存最后一个图片,不知道那些同名的大神是怎么成功保存图片的。                mbody.addFormDataPart("image"+i,file.getName(),RequestBody.create(MEDIA_TYPE_PNG,file));                i++;            }        }        RequestBody requestBody =mbody.build();        Request request = new Request.Builder()            .header("Authorization", "Client-ID " + "...")            .url("http://192.168.1.105/interface/index.php?action=sendMultipart")            .post(requestBody)            .build();        mOkHttpClient.newCall(request).enqueue(new Callback() {            @Override            public void onFailure(Call call, IOException e) {            }            @Override            public void onResponse(Call call, Response response) throws IOException {                Log.i("InfoMSG", response.body().string());            }        });    }





二、Php服务端

if ($act == "sendMultipart") {$result="";try {foreach ($_FILES as $key => $val) {$imgName = time().rand(1000, 9999);//随机数$folder = "images";//接口文件同目录下创建此文件夹,当然也可以通过代码的形式判断/创建$file_dir = $folder . "/" . $imgName . ".jpg";if (move_uploaded_file($val["tmp_name"], $file_dir)) {$result .= $val["name"] . "保存成功";} else {$result .= "在服务器中保存失败" . $val["tmp_name"] . "--------";}echo "返回信息:" . $result."
\n";}} catch(exception $ex) {echo $ex;}}


没什么可总结的了,都在注释里了。









更多相关文章

  1. flutter包名、应用名称、图标、启动图片修改
  2. 通过xml布局文件实现按钮改变焦点设置背景图片
  3. Android 获取手机上图片和视频的缩略图 Android thumbnails .
  4. Android ListView滑动过程中图片显示重复错位闪烁问题解决
  5. flutter包名,应用名称,图标,启动图片修改
  6. Android TextView加载html图片详解
  7. android 调用图库中选择的图片
  8. android 图片溢出问题2...[geoway]
  9. Android异步加载图片

随机推荐

  1. Android入门教程 (一) Android简介和androi
  2. Android(安卓)内存管理
  3. 4.0.x Launcher UI
  4. android:shape的使用
  5. 移动互联网的新宠:Android之缤纷世界
  6. Android(安卓)NDK 入门
  7. RelativeLayout的对齐属性大全(LinearLayo
  8. android SDK包引用了java SDK哪些包
  9. android 风格
  10. Android(安卓)当中的 MVP 模式(二)封装