作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用以下代码发送包含多个参数类型的后期多重请求:
@Multipart
@POST("**")
fun sendRequest(
@Part("ContactType") contactType: RequestBody? = null,
@Part("Description") description: RequestBody? = null,
@Part("ServiceProviderId") serviceProviderId: RequestBody? = null,
@Part("Title") title: RequestBody? = null,
@Part("Latitude") latitude: RequestBody? = null,
@Part("Mobile") mobile: RequestBody? = null,
@Part("Longitude") longitude: RequestBody? = null,
@Query("MainActivities[]") mainActivities :ArrayList<String>,
@Part("Files") files: List<MultipartBody.Part>
): Observable<SendRequestResponse>
val titleBody = createBodyRequestFromString(title.value ?: "")
val latitudeBody = createBodyRequestFromString(lat.value ?: "")
val longitudeBody = createBodyRequestFromString(lng.value ?: "")
val contactTypeBody = createBodyRequestFromString(contactType.value.toString() ?: "")
val serviceProviderIdBody = createBodyRequestFromString(serviceProviderId.value ?: "")
val mobileBody = createBodyRequestFromString(phoneNumber.value ?: "")
val mainActivitiesBody: ArrayList<RequestBody> = ArrayList()
createBodyRequestFromString(mainActivities.value?.get(0)).let { mainActivitiesBody.add(it) }
private fun createBodyRequestFromString(string: String?): RequestBody {
return RequestBody.create("text/plain".toMediaTypeOrNull(), string!!)
}
private fun addFileAsMultipart() {
val imagesParts = ArrayList<MultipartBody.Part>(selectedImages.size)
selectedImages.forEachIndexed { index, file ->
val requestBody = RequestBody.create("image/jpeg".toMediaTypeOrNull(), file)
imagesParts.add(
MultipartBody.Part.createFormData(
"files",
file.name,
requestBody
)
)
}}
@Part parameters using the MultipartBody.Part must not include a part name in the annotation. (parameter #10)
最佳答案
试试这个tutorial帮助我很多
按照本教程..您必须更改
这条线
@Part("Files") files: List<MultipartBody.Part> //kotlin
@Part("Files) List<MultipartBody.Part> files //java
@Part files: List<MultipartBody.Part> //kotlin
@Part List<MultipartBody.Part> files //java
MultipartBody.Part.createFormData("files",file.name,requestBody)
MultipartBody.Part.createFormData("files[]",file.name,requestBody)
关于android - 如何发送包含字符串数组和文件数组的多部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60926818/
我是一名优秀的程序员,十分优秀!