У меня есть код ниже в 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 как файл в качестве последнего средства?