我正在使用Retrofit 2.0来创建用于在服务器上传文件的改装服务。
我在推荐https://futurestud.io/blog/retrofit-2-how-to-upload-files-to-server
下面是我的FileUploadService代码:
interface TripHistoryFileUploadService {
@Multipart
@POST("trip/trip-history")
Call<ResponseBody> upload(@Part("json_file") RequestBody description,
@Part MultipartBody.Part file);
}
我正在使用以下改装版本:
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
但是我收到的错误缺少值,但需要,如下所示:
任何人都可能面临同样的问题,或者任何人都有同样的解决方案吗?
答案 0 :(得分:5)
beta版是程序或应用程序的早期版本 包含大部分主要功能,但尚未完成。
你应该使用Stable
compile 'com.squareup.retrofit2:retrofit:2.0.2' //A type-safe HTTP client
然后 Clean -Rebuild-Sync
您的IDE。希望这会对您有所帮助。
答案 1 :(得分:1)
您缺少第二个参数
的部分名称interface TripHistoryFileUploadService {
@Multipart
@POST("trip/trip-history")
Call<ResponseBody> upload(@Part("json_file") RequestBody description,
@Part("part_name_missing here") MultipartBody.Part file);
}
}
答案 2 :(得分:0)
我遇到了类似的情况,事实证明这是件微不足道的事情 - 我从第一版改装而不是第二版中导入了Part。 所以至少你能做的就是检查你是否有
import retrofit.http.Part; -> requires value
而不是
import retrofit2.http.Part; -> doesn't required value