我正在尝试上传文件,我这样做。
@POST("News/Article/Add")
Call<User> addNews(@Header("api_key") String auth,
@Query(encoded = true, value = "title") String title,
@Body RequestBody file
);
File file = new File(uri1.getPath());
RequestBody file1 = RequestBody.create(MediaType.parse("file/*"), file);
Call call = App.addNews(AddNewsActivity.this).addNews(apiKey,inputTitle.getText().toString(), file1)
使用compile&#39; com.squareup.retrofit2:retrofit:2.1.0&#39;
我注意到第一个错误,我需要将请求者发送为&#34; contentFile&#34;。正如你在下面看到的那样,下面的一个可以工作,但只适用于images.I不想指定任何格式(如png)。按原样上传文件。
RequestBody requestBody = new MultipartBody.Builder()
> .setType(MultipartBody.FORM)
> .addFormDataPart("contentFile", UUID.randomUUID() + ".png",
> RequestBody.create(MEDIA_TYPE_PNG, f100)).build();
答案 0 :(得分:0)
您可以动态分配媒体类型:
MediaType.parse(getContentResolver().getType(fileUri))