[Java][RestAssured] Как сохранить ответ приложения / потока октетов в виде изображения jpg?
Я хочу скачать изображения с веб-сайта, используя RestAssured. Мой код:
Response response = given()
.log().all()
.cookie(cookie)
.get(format(image_endpoint, "46581657"));
Конечная точка возвращает код состояния 200 и изображение в виде "application/octet-stream". Как я могу сохранить его как файл jpg?
Я пытался:
String bin = getImageResponse()
.prettyPrint();
saveFile("foto.jpg", bin); //this method only save string to file
Но я не могу открыть файл jpg. Как я могу сохранить это?
1 ответ
Приложение / октет-поток MIME-типа состоит из байтов, закодированных в Base64. Используйте класс Base64 для декодирования.
private void saveFile(String path, String octetStream) throws IOException{
byte[] bytes = Base64.getDecoder().decode(octetStream);
try(FileOutputStream fos = new FileOutputStream(path)){
fos.write(bytes);
}
}
Я ничего не знаю о RestAssured, так что, возможно, есть какой-то способ, предоставляемый фреймворком.