我想发送图像或文件作为多部分请求。但是请求将需要额外的标识符,如Int ID或字符串。我怎样才能发送那些而不为每个API调用制定特定的接口?使用基本API,我可以将这些参数作为JSON
文件发送,但是使用retfit
时,我必须为特定的API调用创建精确的接口。
internal interface MultipartServicePost {
@POST("{url}")
@Multipart
fun postImage(
@Part image: MultipartBody.Part,
@Part ("reqId") extraParam1: RequestBody,
@Part ("typeId") extraParam2: RequestBody,
@Part ("device") extraParam3: RequestBody,
@Part ("token") extraParam4: RequestBody,
@Part ("userId") extraParam5: RequestBody,
@Path(value = "url", encoded = true)
endpoint: String
): Call<ResponseBody>
}
val client = httpClient.build()
val rBuilder = Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create())
.client(client)
.build()
val service = rBuilder.create(MultipartServicePost::class.java)
val req = service.postImage(body, endpoint)
val response = req.execute()
试试这个,让我知道它是否有效
@POST("Url end point")
@Multipart
fun postImage(@PartMap map: HashMap<String, RequestBody>
): Call<ResponseBody>
并且像这样使用
val map = HashMap<String, RequestBody>()
map["reqId"] = reqId.toString().toRequestBody("text/plain".toMediaTypeOrNull())
//for image
val body = imageFile.asRequestBody("image/jpeg".toMediaTypeOrNull())
map["Image kye like reqId\"; filename=\"FileName.png\" "] = body
问题内容: 我有以下POST请求表格(简化): 我尝试发送POST请求: 但它返回状态并带有以下注释: 请指出我的错误。我应该进行哪些更改才能使其正常工作? 问题答案: 您自己设置标题,包括边界。不要这样 会为您生成一个边界并将其设置在标头中,但是如果您 已经 设置了标头,那么生成的有效负载和标头将不匹配。只需将标题全部放下即可: 请注意,我还给了零件一个文件名(路径的基本名称)。 有关多部分PO
我正在尝试通过API发送post请求。呼叫要求: 我已经使用Charles HTTP代理查看需要发送哪些头/内容。 我的请求:(基本上抄录自查尔斯的多部分章节) 如有任何帮助,我们将不胜感激!干杯!
我正在使用vapor为我的应用程序托管图像。我有以下代码来接收图像并打印它。 我怎么能发送一个多部分的请求,只是使用swft?。这是我正在使用的当前帖子请求代码。
如何用Python发送带有请求的?如何发送一个文件,我明白,但如何发送表单数据的方法不能理解。
我使用下面的代码来创建一个条目在strapi服务器,但不幸的是,我得到了"坏请求"错误。我想不出来。请指导我如何解决这个问题。 ApiSet。班 主要活动。班 我的身体。班 还有我的模型课 数据班 属性。班 最后,我得到了如下回应: 我只是想知道我在哪里犯了错误
我目前正在使用Chrome Addon Postman-REST客户端轻松创建POST/GET请求。 现在我想调试一个上传脚本,我正在寻找一种方法,使请求编码为“多部分/表单-数据”,这样我也可以发送一个文件。