如何设置动态文件名?

时间:2016-07-21 14:30:32

标签: retrofit retrofit2

使用改装2,如何为上传的文件设置动态名称?

目前,它是这样的:

@Part("avatar\"; filename=\"image\" ") RequestBody image,

但是,上传的文件名为image,没有扩展名。 有关此案的任何建议吗?

1 个答案:

答案 0 :(得分:2)

使用MultipartBody.Part作为类型定义您的终端:

interface Example {
  @Multipart //
  @POST("/foo/bar/") //
  Call<ResponseBody> method(@Part MultipartBody.Part part);
}

然后使用其工厂创建类型:

RequestBody body = // image body...
Call<ResponseBody> call = example.method(
    MultipartBody.Part.createFormData("image", "whatever.png", body));