如何将自定义 header 添加到改装请求 body 部分?
How to add custom header to retrofit request body part?
所以我正在使用改造构建一个多部分请求,我想向其中一个部分添加自定义 header。我尝试了很多东西,但似乎没有任何效果。
照片显示了一个包含 4 个部分的 body 请求。每个部分包含一个body和一个header,我想要的是为所选部分添加一个自定义header。我该怎么做?
遗憾的是,目前无法通过 Retrofit 将 headers 直接添加到 Part
。您可以自己将每个部分构造为 Okhttp3.MultipartBody.Part
并将其作为 @Part
参数传递给改造。缺点是您无法使用 retrofit 的转换器,必须自己将数据转换为 body 部分。
我提交了拉取请求以添加允许它的功能here。
因此,为了回答我自己的问题,我创建了一个包含图像和自定义 header 的部分,如下所示:
MultipartBody.Part body = MultipartBody.Part.create(
Headers.of("Content-Disposition", "form-data; name=\"" + "namevalue" + "\";" + " filename=\"" + filenamevalue + "\"", custom_header_name, custom_header_value),
RequestBody.create(MediaType.parse("image/jpeg"), multimedia.getMedia())
);
所以我正在使用改造构建一个多部分请求,我想向其中一个部分添加自定义 header。我尝试了很多东西,但似乎没有任何效果。
照片显示了一个包含 4 个部分的 body 请求。每个部分包含一个body和一个header,我想要的是为所选部分添加一个自定义header。我该怎么做?
遗憾的是,目前无法通过 Retrofit 将 headers 直接添加到 Part
。您可以自己将每个部分构造为 Okhttp3.MultipartBody.Part
并将其作为 @Part
参数传递给改造。缺点是您无法使用 retrofit 的转换器,必须自己将数据转换为 body 部分。
我提交了拉取请求以添加允许它的功能here。
因此,为了回答我自己的问题,我创建了一个包含图像和自定义 header 的部分,如下所示:
MultipartBody.Part body = MultipartBody.Part.create(
Headers.of("Content-Disposition", "form-data; name=\"" + "namevalue" + "\";" + " filename=\"" + filenamevalue + "\"", custom_header_name, custom_header_value),
RequestBody.create(MediaType.parse("image/jpeg"), multimedia.getMedia())
);