zoukankan      html  css  js  c++  java
  • Android okHttp上传单张或多张照片

    1.利用LruCache、DiskLruCache实现图片的加载,避免OOM
    2.引用开源库https://github.com/pengjianbo/GalleryFinal,实现从相册中选择图片、拍照进而进行上传,图片上传可以


    private static final MediaType MEDIA_TYPE_PNG = MediaType.parse("image/png");

    private final OkHttpClient client = new OkHttpClient();
    private void uploadImg() {
    
            // mImgUrls为存放图片的url集合
            MultipartBody.Builder builder = new MultipartBody.Builder().setType(MultipartBody.FORM);
            for (int i = 0; i <mImgUrls.size() ; i++) {
                File f=new File(mImgUrls.get(i));
                if (f!=null) {
                    builder.addFormDataPart("img", f.getName(), RequestBody.create(MEDIA_TYPE_PNG, f));
                }
            }
               //添加其它信息
    //        builder.addFormDataPart("time",takePicTime);
    //        builder.addFormDataPart("mapX", SharedInfoUtils.getLongitude());
    //        builder.addFormDataPart("mapY",SharedInfoUtils.getLatitude());
    //        builder.addFormDataPart("name",SharedInfoUtils.getUserName());
    
    
            MultipartBody requestBody = builder.build();
            //构建请求
            Request request = new Request.Builder()
                    .url(Constant.BASE_URL)//地址
                    .post(requestBody)//添加请求体
                    .build();
    
            client.newCall(request).enqueue(new Callback() {
                @Override
                public void onFailure(Call call, IOException e) {
                    
                    System.out.println("上传失败:e.getLocalizedMessage() = " + e.getLocalizedMessage());
                }
    
                @Override
                public void onResponse(Call call, Response response) throws IOException {
                    
                    System.out.println("上传照片成功:response = " + response.body().string());
                    ToastCustom.makeText(PictureListActivity.this, "上传成功", Toast.LENGTH_LONG).show();
                  
    
                }
            });
    
        }
  • 相关阅读:
    硬件的效率与一致性
    深入理解SPI机制-服务发现机制
    spring 之7种重要设计模式
    list里放map list 放list
    jvm 三种编译
    几种不同格式的json解析
    Java知识点梳理——集合
    判断2个list中是否有相同的数据(相交)Collections.disjoint
    键相同,比较两个map中的值是否相同
    Map类型数据导出Excel--poi
  • 原文地址:https://www.cnblogs.com/miaozhenzhong/p/5930948.html
Copyright © 2011-2022 走看看