[英]how to send arraylist request with object of string and image in android kotlin retrofit 2?
[英]how to send post request for image with string in retrofit kotlin?
我正在使用圖像和用戶向 node.js 服務器發送發布請求,但用戶正文在節點服務器中顯示為空。 節點服務器正在使用 multer 來解析文件。 這是我的 Api.kt 接口文件
@Multipart
@POST("/user/upload_avatar")
fun uploadAvatarImage(
@Part image:MultipartBody.Part,
@Part("user") user: RequestBody
):Call<UploadImageResponse>
MainActivity.kt 文件
val user:String = """{"_id":"61db06b6e488c5b13211111","username":"abcda"}"""
val multipart =MultipartBody.Part.createFormData("file",file.name,avatar)
ServiceBuilder.buildService(Api::class.java).uploadAvatarImage(
multipart,
RequestBody.create(MediaType.parse("application/json"), user)
).enqueue(object :Callback<UploadImageResponse>{
override fun onResponse(
call: Call<UploadImageResponse>,
response: Response<UploadImageResponse>
) {
Toast.makeText(this@UploadImages, "Image upload successfully", Toast.LENGTH_SHORT).show()
}
override fun onFailure(call: Call<UploadImageResponse>, t: Throwable) {
Toast.makeText(this@UploadImages, "Wrong With Image", Toast.LENGTH_SHORT).show()
}
})
首先為什么不,讓你的生活更輕松,只需使用 ktor。 使用 ktor,您也不必編寫使用 Java Libaray 時必須編寫的大量代碼。
Kotlin 可與 Java 互操作,但它們在操作方式上仍有很大差異。 例如回調;)
如果還想使用 retrofit:
根據: POST Multipart Form Data using Retrofit 2.0 包括圖像
您也必須對圖像使用 RequestBody。 也許這可以解決你的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.