使用改造发送带有文件的multipart:2.0.0-beta1

kad*_*dik 5 java android http multipartform-data retrofit

我将multipartRequest发送到服务器时遇到问题.

RequestBody file = RequestBody.create(MediaType.parse("application/json"), myFile);
        return apiService.updateProfile2(token, file);


@Multipart
@POST("/profile/update")
Call<RegistrationResponse> updateProfile2(@Header(value = "X-AUTH-TOKEN") String toke, @Part(value = "json") RequestBody json);
Run Code Online (Sandbox Code Playgroud)

问题:

请求正文是空的,当它来到服务器

Mih*_*x64 1

更新

使用 Retorfit 2 和 Multipart 上传文件

原创,题外话答案

http://www.codejava.net/java-se/networking/upload-files-by-sending-multipart-request-programmatically 这是一篇很好的文章,其中包含发送多部分的代码。这对我有用。

MultipartUtility multipart = new MultipartUtility(requestURL, charset);

multipart.addHeaderField("User-Agent", "CodeJava");
multipart.addHeaderField("Test-Header", "Header-Value");

multipart.addFormField("description", "Cool Pictures");
multipart.addFormField("keywords", "Java,upload,Spring");

multipart.addFilePart("fileUpload", uploadFile1);
multipart.addFilePart("fileUpload", uploadFile2);

List<String> response = multipart.finish();

System.out.println("SERVER REPLIED:");

for (String line : response) {
    System.out.println(line);
}
Run Code Online (Sandbox Code Playgroud)