为android @Multipart改装删除默认标题
创建@Multipart请求会为每个部分添加这些默认标题(Content-Transfer-Encoding,Content-Type),有什么方法可以删除它们吗?
//REQUEST BODY --25d35373-d2c3-46a3-969f-f5a1fd5f781a Content-Disposition: form-data; name="client_id" Content-Transfer-Encoding: binary <-- remove this one Content-Type: application/json; charset=UTF-8 <-- remove this one Content-Length: 34 "40ccfee680a844780a41fbe23ea89934" //
注:我没有访问服务器,所以我不能让服务器接受这些头。
你可以通过你自己的方式来构建多部分的主体(kotlin代码,但是可以用java来表达同样的想法):
val mpart = MultipartBody.Builder() .addFormDataPart("param", paramValue) .addPart(null, someRequestBody).build() // <-- (*) see explanation below //thus, service method should looks like this: @POST("upload/endpoint") fun upload(@Body parts: MultipartBody)
(*) – 这是addPart(headers: Headers, reqBody: RequestBody)
方法,当您将null
传递给标题arg时,将删除除Content-Length:
之外的所有标题Content-Length:
- 如何在Android中将许多AsyncTasks转换为Rx Observables?
- Kotlin RuntimeInvisibleParameterAnnotations属性:MyType(String)
- 显示DialogFragment抛出“无法执行此操作后onSaveInstanceState”错误
- SwipeRefreshLayout会干扰ViewPager中的ScrollView
- GSON不能用自定义getter来反序列化Kotlin类
- Android RxJava / Kotlin – 将大量数据映射到网络呼叫
- 为一个开源项目创建dummy Fabric Api键
- 如何用十六进制值更改CheckedTextView的Checked Tint Color
- 附近的消息API MessageLisenter不被触发