ОТДЫХ - Джерси - Весна - Загрузка файла - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть REST API (метод POST), который создает MediaType.APPLICATION_OCTET_STREAM, а заголовок ответа также задается следующим кодом:

@Path("/file")
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response getFile() throws IOException {

. , .

ResponseBuilder respBuilder = Response.ok((Object) file);
respBuilder.header("Content-Disposition", "attachment; filename=\"" + file.getName() + "\";");
return respBuilder.build();

Однако, когда я вызываю этот API из Почтальона или Моего приложения, он не загружает файл, скорее, он дает ответ в теле с содержимым и кодом ответа 200.

Не уверен что тут не так! Должен ли я делать какие-либо дополнительные настройки в Spring / WEB Server?

1 Ответ

0 голосов
/ 19 февраля 2020

Вам необходимо вернуть InputStream в качестве тела ответа. Попробуйте это:

InputStream targetStream = new FileInputStream(file)
ResponseBuilder respBuilder = Response.ok(targetStream);
respBuilder.header("Content-Disposition", "attachment; filename=\"" + file.getName() + "\";");
return respBuilder.build();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...