Need to open blob/PDF in IE window

I have the code below in my typescript to call a web api method and retrieve a binary byte array (blob) that is a PDF. My user requirement is to open PDF in a new window.

$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
            });
        });
    }

This code works fine in Chrome. The document opens as expected. IE however asks "Do you want to allow this website to open an app on your computer?" and when allowed, tell me "No apps are installed to open this kind of link (blob)".

Any ideas on how to open this in a new tab or save the blob as a file as a last resort?

Answers:

Answer

The reason why it works in Chrome and other normal browsers: they have pdf previewer installed inside of them.

The lease why it does not work in IE: since in architecture if IE there should be some PDF reading program installed on operating system; for instance, if you have Adobe Acrobat installed, you will open it without problems.

I can recommend you to use: pdf.js/.

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.