У меня есть служба, которая пишет в тело ответа GET-запроса. Записанные данные могут быть в файл PDF или в файл XLSX.
Мой вопрос: когда я делаю запрос с помощью браузера Google Chrome, файл загружается. Однако, когда я делаю тот же звонок с использованием почтальона, в теле ответа я получаю только несколько бессмысленных записей (я думаю, что в ответе заархивированы байты), и я не могу загрузить файл для загрузки.
Здесь я показываю своиПодход к загрузке файла после того, как я сделаю его запрос к контроллеру:
мой вызов Ajax:
$.ajax({
url: request_url,
type: "POST",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(searchCriteria),
success: function (response) {
swal("SWEET");
},
error: function (err) {
swal(JSON.stringify(err));
}
});
в сервисе я устанавливаю содержание ответа и набираю следующим образом:
response.setContentType(contentType);
// Assign the byte stream's size
response.setContentLength(baos.size());
//Write to response stream
Writer.write(response, baos);
Я делаю запрос от вызова Ajax и получаю тот же ответ, который получил от Почтальона, Есть ли способ загрузить эти байты, возвращающиеся в Ajax?
Спасибо.