// 使用Okhttp3上传图片以及String
String url= UrlDta.URL;
okhttp3.OkHttpClient okhttp=new okhttp3.OkHttpClient();
okhttp3.MediaType MEDIA_TYPE = okhttp3.MediaType.parse("image/*;charset=utf-8");
okhttp3.MultipartBody.Builder builder = new okhttp3.MultipartBody.Builder().setType(okhttp3.MultipartBody.FORM);
// 循环获取集合里面的图片文件
for(int i=0;i<list.size;i++){
builder.addFormDataPart("img", list.get(i).getPath(), okhttp3.RequestBody.create(MEDIA_TYPE,new File(list.get(i).getPath())));
}
// 需要传入的String
builder.addFormDataPart("key","");
builder.addFormDataPart("key","");
MultipartBody requestBody = builder.build();
final okhttp3.Request request = new okhttp3.Request.Builder()
.url(url)
.post(requestBody)
.build();
okhttp.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, okhttp3.Response response) throws IOException {
String json = response.body().string();
}
});
//在application标签加入
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.athis.app.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
//创建xml文件夹 provider_paths.xml
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<!--"."表示所有路径-->
<external-path name="external_files" path="."/>
</paths>