Я использую внешний API отдыха, чтобы получить метку распространения для пакета.В ответ у меня есть:
%PDF-1.4\n%����\n6 0 obj\n<</ColorSpace[/Indexed/DeviceRGB 255(\0\0\0 [...]
Теперь мне нужно отобразить PDF в браузере
var xhr = new XMLHttpRequest();
xhr.open('POST', '/Order/CreateShipmentInpost', true);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.responseType = 'arraybuffer';
xhr.onload = function (e) {
if (this.status == 200) {
var blob = new Blob([this.response], { type: "application/pdf" });
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = "Report.pdf";
link.click();
}
};
xhr.send($.param(data));
В сгенерированном PDF-файле есть только пустая страница.Я не знаю, почему контент не отображается.
Я использую responseType = 'arraybuffer'
.Контроллер возвращает:
return File(Encoding.UTF8.GetBytes(data, MediaTypeNames.Application.Pdf);
Я также пытался вернуть json или строку, но PDF всегда был пустым.