【发布时间】:2022-01-05 07:39:48
【问题描述】:
我想通过 android 发送相同的数据。我正在使用改造 2。我尝试了各种其他代码 喜欢
@Multipart
@POST(POST_OTHER)
suspend fun postOthers(
@Part file: RequestBody
): Response<StringResponse>
它会给出类似的错误
java.lang.IllegalArgumentException: @Part annotation must supply a name or use MultipartBody.Part parameter type.
我不知道如何以正确的格式正确发送数据。我们将不胜感激。
-
- 编辑 * *
- 我实现了我的结果,但使用 ok http
val builder: MultipartBody.Builder = MultipartBody.Builder().setType(MultipartBody.FORM)
builder.addFormDataPart("user_id", "38")
builder.addFormDataPart("name", "Yippee")
builder.addFormDataPart("feature", "4")
builder.addFormDataPart("title", "4")
builder.addFormDataPart("description", "4")
builder.addFormDataPart("price", "40.12")
builder.addFormDataPart("cat", "hmmmm")
for ((i, item) in finalImageList.withIndex()) {
val file = filePath.createFileFromUri(item.uri!!)
builder.addFormDataPart(
"file[$i]",
file?.name,
file!!.asRequestBody("image/*".toMediaType())
)
}
val request: Request = Request.Builder()
.url(Constants.BASE_URL + Constants.POST_OTHER)
.post(builder.build())
.build()
val response: Response = OkHttpClient().newCall(request).execute()
if (response.isSuccessful && response.body != null) {
" success ${request.body}".printLog()
} else "Some error".printLog()
如果我能得到一个等效的改造代码会很有帮助
【问题讨论】:
标签: android kotlin postman retrofit2 multipartform-data