使用Retrofit 2.0上传文件

时间:2015-10-29 15:36:47

标签: android retrofit

我正在使用此方法将文件上传到我的服务器:

@Multipart
@POST("new")
Call<Response> send(@Part("myFile") byte[] file);

我一直在阅读并且有些人使用TypedFile来做这件事,也许这比发送原始字节更容易,就像我正在做的那样。

TypedFile类位于retrofit.mime包中。但我没有那里。此软件包是否已从2.0版本中删除?或者我是否必须添加另一个依赖项?如果是这样,哪一个?

感谢。

1 个答案:

答案 0 :(得分:17)

In 2.0 you need to use RequestBody instead of TypedFile. Get file with RequestBody

RequestBody file = RequestBody.create(MediaType.parse("image/*"), path);    

Use it in your request

@Multipart
@POST("new")
Call<Response> send(@Part("myFile") RequestBody file);

More info https://github.com/square/retrofit/issues/1063