【发布时间】:2020-10-29 14:48:21
【问题描述】:
我尝试在 CatsAPI 的帮助下发送照片。
这是用于上传方法upload api。 我有一个界面:
@Headers(value = ["content-type:multipart/form-data;"])
@POST("images/upload")
suspend fun uploadImage(
@Header("x-api-key") apiKey: String,
@Body body: MultipartBody,
): UploadCatResponse
我有这个模型用于请求model。
我还有一小段代码可以调用这个接口
class SendPhotoModel {
fun uploadPhoto(
file: File,
listener: (Int) -> Unit
) = flow {
val requestBody = RequestBody.create("image/*".toMediaType(), file)
val multiPartBody = MultipartBody
.Builder()
.setType(MultipartBody.FORM)
.addPart(requestBody)
.build()
val result = Api.getApi().uploadImage(
App.ApiKeyProvider.getKey(),
multiPartBody
)
emit(result)
}
当我单击将图像发送到服务器的按钮时,它会告诉我文件未发送的消息。
{"message":"没有文件发送。","status":400,"level":"info"}
怎么了?所以我尝试在邮递员的帮助下发送相同的文件,它总是有效的。但我不知道如何使相同的请求在改造中起作用。你能帮我解决这个问题吗?我做错了什么?
【问题讨论】:
-
请贴出错误的全部信息
-
首先,使用具体的 MIME 类型。这是你的文件;你知道里面有什么。除此之外……
file来自哪里?您正在尝试的file的值是多少? -
我来自相机的文件,它是 jpeg 文件。