我需要您的帮助,我想知道是否可以使用okHttp发布FormDataMultiPart。
我知道你会说已经有回应了。
这是我的情况:
//资源
@Consume(FORMDATAMULTIPART)
public Response getMultiPart(FormDataMultiPart multipart) {
return response.ok(service.postMultiPart(multipart);
}
//服务
public void postMultiPart(FormDataMultiPart multiPart) {
OkHttpClient okHttpClient = new OkHttpClient();
final Request request = new Request.Builder() {
.url(URL)
.post(multiPart)
}
我知道该帖子只能获取RequestBody,这是我的问题,你们知道伙计如何将FormDataMultiPart转换为RequestBody吗?
非常感谢
答案 0 :(得分:1)
在服务中更改这部分代码
final Request request = new Request.Builder() {
.url(URL)
.post(multiPart)
到(假设我正在发送文件)并使用 RequestBuilder
File file; // This is the file I want to send.
MediaType mediaType = MediaType.parse("multipart/form-data");
RequestBody requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM).addFormDataPart("key", "name", RequestBody.create(mediaType, file)).build();
okhttp3.Request.Builder requestBuilder = new okhttp3.Request.Builder()
.headers(headerBuild)
.url(url);
requestBuilder.post(requestBody);
okhttp3.Request request = requestBuilder.build();
看看上面的代码中已添加的MediaType。