Commit c20c61efe16c7b68ba6ca865aa5c9327566cc3e6

Authored by gaoming
1 parent cced7bb8
Exists in master

add upload file method

src/main/java/com/taover/util/UtilHttpByOkHttp.java
1 1 package com.taover.util;
2 2  
  3 +import java.io.File;
  4 +import java.io.IOException;
3 5 import java.io.UnsupportedEncodingException;
4 6 import java.net.URLEncoder;
5 7 import java.nio.charset.Charset;
... ... @@ -18,10 +20,14 @@ import javax.net.ssl.TrustManager;
18 20 import javax.net.ssl.X509TrustManager;
19 21  
20 22 import okhttp3.FormBody;
  23 +import okhttp3.Headers;
21 24 import okhttp3.MediaType;
  25 +import okhttp3.MultipartBody;
22 26 import okhttp3.OkHttpClient;
23 27 import okhttp3.Request;
24 28 import okhttp3.RequestBody;
  29 +import okhttp3.Response;
  30 +import okhttp3.ResponseBody;
25 31  
26 32 public class UtilHttpByOkHttp {
27 33 public static final String METHOD_GET = "GET";
... ... @@ -146,6 +152,39 @@ public class UtilHttpByOkHttp {
146 152 return builder.build();
147 153 }
148 154  
  155 +
  156 + /**
  157 + *
  158 + * @param url 请求地址
  159 + * @param filePath 文件路径
  160 + * @param fileName 文件名
  161 + * @param fileKey 表单上传文件对应的key值
  162 + * @param header 请求头
  163 + * @return 只发post请求
  164 + * @throws Exception
  165 + */
  166 + public static ResponseBody sendPostFile(String url, String filePath, String fileName,String fileKey,Map<String, String> header) throws Exception {
  167 + OkHttpClient client = new OkHttpClient();
  168 + RequestBody requestBody = new MultipartBody.Builder()
  169 + .setType(MultipartBody.FORM)
  170 + .addFormDataPart(fileKey, fileName,
  171 + RequestBody.create(MediaType.parse("multipart/form-data"), new File(filePath)))
  172 + .build();
  173 +
  174 + Request request = new Request.Builder()
  175 + .headers(Headers.of(header))
  176 + .url(url)
  177 + .post(requestBody)
  178 + .build();
  179 +
  180 + Response response = client.newCall(request).execute();
  181 + if (!response.isSuccessful()){
  182 + throw new IOException("Unexpected code " + response);
  183 + }
  184 + return response.body();
  185 + }
  186 +
  187 +
149 188 static TrustManager[] trustAllCerts = new TrustManager[]{
150 189 new X509TrustManager() {
151 190 public java.security.cert.X509Certificate[] getAcceptedIssuers() {
... ...