0
我有一個多部分的請求,它有3個部分,每個部分包含它自己的主體和標題,所以我想要的是在其中一個部分添加自定義標題。我試圖用retrofit和okhttp來構建請求,但是他們沒有提供這樣做的選項。有任何想法嗎?如何將標題添加到多部分請求?
編輯:這是基於本question
我有一個多部分的請求,它有3個部分,每個部分包含它自己的主體和標題,所以我想要的是在其中一個部分添加自定義標題。我試圖用retrofit和okhttp來構建請求,但是他們沒有提供這樣做的選項。有任何想法嗎?如何將標題添加到多部分請求?
編輯:這是基於本question
嘗試以下代碼:
public HttpResponse multiPartRequest(String url, String token, File file) {
client = new DefaultHttpClient();
HttpPost request = new HttpPost(url);
HttpResponse response = null;
DRPContentForUpload content = new DRPContentForUpload(file);
String jsonObject = DRPJSONConverter.toJson(content);
String BOUNDARY= "--eriksboundry--";
request.setHeader("Content-Type", "multipart/form-data; boundary="+BOUNDARY);
request.addHeader("X-AUTHORIZATION",token);
MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE,BOUNDARY,Charset.defaultCharset());
try {
entity.addPart("file01", new StringBody(jsonObject));
entity.addPart("file01", new FileBody(file));
request.addHeader("Accept-Encoding", "gzip, deflate");
} catch (UnsupportedEncodingException e) {
Log.v("encoding exception","E::: "+e);
e.printStackTrace();
}
request.setHeader("Accept", "application/json");
request.setHeader("Content-Type", "multipart/form-data; boundary="+BOUNDARY);
request.setEntity(entity);
try {
response = client.execute(request);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return response;
}
從外觀上來看它與它的一部分的一個沒有自定義首部標準請求例如,可能是文件的第1部分將具有標準標題加上額外的標題。這是否更有意義? –