Подтвердить что ты не робот

Необходимо открыть blob/PDF в окне IE

У меня есть код ниже в typescript для вызова метода web api и получения двоичного байтового массива (blob), который является PDF. Мое требование пользователя - открыть PDF в новом окне.

$scope.selectRow = (itemImageNumber: string, printProcessId: string, printXmlId: string) => {
        itemService.GetOutgoingDocument($scope.item.ItemId, itemImageNumber, printProcessId, printXmlId).success((response) => {
            var file = new Blob([response], { type: 'application/pdf' });
            var fileUrl = URL.createObjectURL(file);
            //$scope.outDocContent = $sce.trustAsResourceUrl(fileUrl);
            var win = window.open($sce.trustAsResourceUrl(fileUrl));
            win.focus();
        }).error(() => {
            var message = 
                "The document you selected can’t be displayed at this time. Please call Customer Service at xxx-xxx-xxxx for assistance.";
            $rootScope.$broadcast("app-message", {
                type : "danger",
                message : message
            });
        });
    }

Этот код отлично работает в Chrome. Документ открывается, как ожидалось. Однако IE спрашивает: "Вы хотите разрешить этому веб-сайту открывать приложение на своем компьютере?" и когда это разрешено, скажите мне: "Приложения не установлены, чтобы открыть такую ​​ссылку (blob)".

Любые идеи о том, как открыть это на новой вкладке или сохранить blob как файл в качестве последнего средства?

4b9b3361

Ответ 1

Причина, по которой это работает в Chrome и других обычных браузерах: у них есть встроенный PDF-просмотрщик.

В аренду, почему он не работает в IE: поскольку в архитектуре, если IE должна быть установлена ​​в программе, программа чтения PDF; например, если у вас установлен Adobe Acrobat, вы откроете его без проблем.

Я могу порекомендовать вам использовать: pdf.js/.