最近因为工作关系要涉及到上传file类型的文件
看到这种类型,我其实有点懵,对于文件类型不都是通过二进制流的形式来传数据吗?
今天,在经历一次失败后,今晚终于找到了解决的方法。
其实很简单,首先类型不能再用@Filed了,通过度娘了解到文件的格式通过@Part来传,配套使用的就是@MultiPart,而且在定义参数的时候对于文件类型的文件需要定义成 MultipartBody.Part
代码如下:
@Multipart
@POST(COUNTDOWN)
fun memberData(
@Part image: MultipartBody.Part
): Observable<SendBean>
//mvp模式中model层设置
override fun sendPic(app_uid: File): Observable<SendBean> {
return NetRequestApi.instance().create(FaceDataService.URL,FaceDataService::class.java)
.memberData(MultipartBody.Part.createFormData("image","head.jpg"
,RequestBody.create(MediaType.parse("file/octet-stream"),app_uid!!)))
.compose(schedulersTransformer())
}
这个其实算是大突破,对于以后上传各种形式的文件我都有了成功的案例了。继续加油!