Okhttp3 带参数文件上传~重复造轮子中

xiaoxiao2021-02-28  105

Okhttp3 带参数文件上传~重复造轮子中

实用帖,不罗嗦。下面贴代码

/** * 带参数文件上传 * @param path 网址 * @param params key - value数据 * @param files key - file路径 * @param callback 自定义的Callback 你用你的就好 */ public static void post_file(String path, HashMap<String, Object> params,HashMap<String, String> files, Callback callback){ MultipartBody.Builder multipartBuider = new MultipartBody.Builder(); multipartBuider.setType(MultipartBody.FORM); if (params!=null&¶ms.size()>0){ for (Map.Entry<String, Object> entry :params.entrySet()){ multipartBuider.addFormDataPart(entry.getKey(),String.valueOf(entry.getValue())); } } if (files!=null&&files.size()>0){ for (Map.Entry<String, String> entry: files.entrySet()){ File file = new File(entry.getValue()); RequestBody fileBody = RequestBody.create(MediaType.parse("image/png") , file); multipartBuider.addFormDataPart(String.valueOf(entry.getKey()),file.getName(),fileBody); } } Request request=new Request.Builder().url(path).post(multipartBuider.build()) .build(); Call call = okHttpClient.newCall(request); call.enqueue(callback); }
转载请注明原文地址: https://www.6miu.com/read-26720.html

最新回复(0)