Я использую RestAssured и пытаюсь загрузить файлы с помощью вызова de GET.
Моя проблема в том, что тело запроса организовано с границей.
Так что файл, который я получаю, содержит слишком много информации и не может быть использован.
Вот пример содержимого загруженного простого текстового файла:
- a8f82a89-d9c2-4fcb-a612-06e286bfcf66
Content-Disposition: форма-данные; Name = "метаданные"; имя файла = «метаданные»
Тип контента: приложение / JSON
{ "Имя": "Fichier_de_calcul.txt", "идентификатор": { "метаданные": { "удален" ложь "эфемерный" ложь "синтезированный": правда, "systemOwned": правда, "доступен только для чтения": ложные "synchronisable": правда, "createdOn": "2018-11-09T15: 36: 39Z", "включено": правда, "lastModifiedOn": "2018-11-09T15: 36: 40.444Z"}, "значение" : { "@ типа": "CoreKit.UUIDKey", "значение": "4de39a67-0075-4232-a236-09ab8d10aed9"}}}
--a8f82a89-d9c2-4fcb-a612-06e286bfcf66
Content-Disposition: форма-данные; Name = "@ тип"; имя файла = «@ тип»
Тип контента: текст / обычный
CoreKit.FileMetadataAndFile
--a8f82a89-d9c2-4fcb-a612-06e286bfcf66
Content-Disposition: форма-данные; Name = "файл"; имя файла = «Файл»
Тип контента: приложение / октет-поток
2
4
6
8
10
--a8f82a89-d9c2-4fcb-a612-06e286bfcf66 -
А вот код, который я использовал для получения этого файла:
Response resp = RestAssured.given().headers(headers).get(url);
byte[] fileContent = resp.body().asByteArray();
File fileToSave = new File(classPath);
try {
Files.write(fileContent, fileToSave);
} catch (IOException e1) {
e1.printStackTrace();
}
Кто-нибудь знает, как я могу сделать:
Разобрать тело (хотелось бы получить параметр "filename")
Создайте загруженный файл на основе части «application / octet-stream».
Спасибо =)