用法很简单: 我直接贴代码:
@Multipart // 不可缺少 @POST("api/attch/cdn") fun upload(@Part vararg parts: MultipartBody.Part): Observable<BaseApiResult<UploadResp>> fun uploadVideo(file: File) : Observable<ZflBaseApiResult<UploadResp>> { val requestBody = RequestBody.create(MediaType.parse("video/*"),file) // "file"这个 name 要和后端约定好 val part = MultipartBody.Part.createFormData("file", file.name, requestBody) return mService.upload(part) }具体使用就是调用上面的 uploadVideo 方法,这些都没什么问题。
如果你在配置请求时,添加了打印日志,且类型为BODY addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY)),那么就会在 logcat 中 看到一堆类似于乱码的东西。
解决方法就是 : 把类型 BODY 改为 HEADERS