亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用Retrofit上傳文件并且攜帶參數,為什么這樣不行呢?

使用Retrofit上傳文件并且攜帶參數,為什么這樣不行呢?

繁花不似錦 2019-07-26 23:51:33
1.Retrofit接口定義:@Multipart@POST(RequestUrl.BANK_CARD_INFO)ObservablebankCardInfo(@PartMultipartBody.Partfile);2.使用:StringtraceId=UUID.randomUUID().toString();//隨機生成唯一traceIdStringpath=selectList.get(0).getPath();//Log.d(TAG,"onActivityResult:1616="+path);Filefile=newFile(path);RequestBodyfileBody=RequestBody.create(MediaType.parse("image/*"),file);//RequestBodyrequestBody=RequestBody.create(MediaType.parse("multipart/form-data"),file);RequestBodytraceBody=RequestBody.create(MediaType.parse("multipart/form-data"),file);//RequestBodyfileRQ=RequestBody.create(MediaType.parse("multipart/form-data"),file);//MultipartBody.Partpart=MultipartBody.Part.createFormData("picture",file.getName(),fileRQ);Toast.makeText(this,"1933="+traceId,Toast.LENGTH_SHORT).show();RequestBodybo=newMultipartBody.Builder().addFormDataPart("trace_id",traceId,traceBody).addFormDataPart("image",file.getName(),fileBody).build();MultipartBody.PartmyBody=//MultipartBody.Part.createFormData();MultipartBody.Part.createFormData("image",file.getName(),bo);//name為傳遞文件的鍵//todo:傳遞銀行卡照片到智趣,返回銀行卡信息RxManager.getMethod().bankCardInfo(myBody).compose(RxUtil.schedulers(this)).subscribe(newRxCallback(this){@OverridepublicvoidonSuccess(Objecto,Stringmsg){Log.d(TAG,"onSuccess:獲取銀行卡信息成功");}});break;}
查看完整描述

2 回答

?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

1.定義請求:1個header參數+1個請求參數+1個文件
publicinterfaceHttpService{
@Multipart
@POST("your_url")
Observablefunc(
@Header("your_http_header_1")Stringheader,
@Part("your_param_1")RequestBodyparam,
@PartMultipartBody.Partfile);
}
2.調用請求:請求參數為文本數據
finalMediaTypeMEDIA_TYPE_TEXT=MediaType.parse("text/plain");
RequestBodyparam=RequestBody.create(MEDIA_TYPE_TEXT,“yourtext”);
Filefile=??
StringcontentType=??//獲取file對應的MimeType
RequestBodyrequestFile=RequestBody.create(MediaType.parse(contentType),file);
MultipartBody.Partbody=MultipartBody.Part.createFormData("your_file_1",file.getName(),requestFile);
Observablerequest=httpService.func("header1",param,body);
//TODO...
                            
查看完整回答
反對 回復 2019-07-26
  • 2 回答
  • 0 關注
  • 370 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號