Я пытаюсь создать вложение, используя HttpClient multipart / form-data, но постоянно получаю 400: Неверный код состояния запроса в качестве вывода. Что я делаю не так.Форма сообщения Я попытался сделать запрос следующим образом:
HttpPost httppost = new HttpPost(URL);
httppost.addHeader("Content-Type", "multipart/form-data");
HttpEntity entity = MultipartEntityBuilder.create()
.addTextBody(name,"{ \"fileName\": \"abc.txt\",
\"description\": { \"raw\": \"Test\" }}" ,
ContentType.create("application/json"))
.addTextBody("file",fileBody_in_bytes,
ContentType.create("text/plain"))
.build();
System.out.print(entity);
httppost.setEntity(entity);
HttpResponse response = httpclient.execute(httppost);
HttpEntity result = response.getEntity();
httppost.setEntity(result);
But got this error:
{"_type":"Error","errorIdentifier":"urn:openproject-org:api:v3:errors:InvalidRequestBody","message":"The request body did not contain the expected multipart parts."}
Формат, указанный в API, выглядит следующим образом:
**Header**
Content-Type: multipart/form-data
**Body**
--boundary-delimiter
Content-Disposition: form-data; name="metadata"
Content-Type: application/json; charset=UTF-8
{
"fileName": "cute-cat.png",
"description": {
"raw": "A cute kitty, cuddling with its friends!"
}
}
--boundary-delimiter
Content-Disposition: form-data; name="file"; filename="attachment"
Content-Type: image/png
PNG file data
--boundary-delimiter--
ДокументацияAPI
Кто-нибудь может увидеть мою ошибку?
Спасибо !!