Сохранение файла PDF из почтальона работает нормально, но не с blob после AJAX вызова - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь сохранить ответ от ajax вызова с BLOB-объектов в формате PDF, но файл открывается при открытии, но тот же вызов при выполнении из почтальона и сохранения ответа прекрасно воссоздает файл PDF. Мой код:

$.ajax({
type: "post",
url:      
    api_url_GetPDF
,
headers: { 'token': access_token },
data: JSON.stringify(Modeldata),
contentType: "application/json",
//dataType: "application/pdf",// does not work
success: function (resultdata, status, xhr) {

    var type = xhr.getResponseHeader('Content-Type');

    var blob = new Blob([resultdata], { type: type });
    var link = document.createElement('a');
    link.href = window.URL.createObjectURL(blob);
    link.download = "res.pdf";
    link.click();
},
error: function (xhr, status, error) {
    console.log("===Failed===" + xhr.responseText + error);
}});

Кроме того, размер файла увеличивается при сохранении с BLOB-объектов, а содержимое при просмотре в блокноте показывает некоторые нераспознанные ненужные символы (черные знаки вопроса в форме ромба) внутри, но файл от почтальона не показывает все ненужные символы. Примечание. Когда я вижу ответ в консоли почтальона и записываю ответ в ajax, они одинаковы и имеют одинаковую длину (перекрестная проверка с помощью winmerge).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...