Chrome генерирует два запроса - PullRequest
0 голосов
/ 02 февраля 2019

В приложении для весенней загрузки ссылка генерирует файл PDF.

Ссылка в тимелифе

<a th:href="@{/printings/bytesttype/compressions}" class="list-group-item list-group-item-action"><span th:text="#{compressions}">Compressions</span></a>

На стороне контроллера

@GetMapping(value = "/printings/bytesttype/compressions")
    public ResponseEntity<byte[]> getCompressionsReport() throws IOException, Exception {
        return preparePdfReport(samplingFacade.getCompressionToPrint());
    }

private ResponseEntity<byte[]> preparePdfReport(byte[] content) throws IOException {
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.parseMediaType("application/pdf"));
        String fileName = "report.pdf";
        headers.setContentDispositionFormData(fileName, fileName);
        headers.setCacheControl("no-cache, must-revalidate, post-check=0, pre-check=0");
        ResponseEntity<byte[]> response = new ResponseEntity<>(content, headers, HttpStatus.OK);
        return response;
    }

Фактически пользователь нажимает,запрос выполнен.

После выполнения другого запроса открыть с расширением

chrome-extension: // oemmndcbldboiebfnladdacbdfmadadm / http://localhost:8080/printings/bytesttype/compressions

Есть ли способ избежать этого?

пробовал Chrome отправляет два запроса при загрузке PDF (и отменяет один из них)

проблема все еще существует

1 Ответ

0 голосов
/ 02 февраля 2019

Если вам не нужно показывать PDF с расширением (встроенный в браузер), вы можете попробовать добавить заголовок в свой HTTP-ответ следующим образом:

response.setHeader("Content-Disposition", "attachment; filename=report.pdf");
...