Podniesione rzucić okiem na poniższy kod:
Na Controller Side -
$http.get(baseUrl + apiUrl, { responseType: 'arraybuffer' })
.success(function (response) {
var file = new Blob([response], { type: 'application/pdf' });
var fileURL = URL.createObjectURL(file);
$scope.pdfContent = $sce.trustAsResourceUrl(fileURL);
})
.error(function() {
});
HTML niepożądane:
<div ng-controller="PDFController" class="modal fade" id="pdfModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content" onloadstart="">
<object data="{{pdfContent}}" type="application/pdf" style="width:100%; height:1000px" />
</div>
</div>
Możesz także skorzystać z Angulara ng-pdfviewer i wyświetlić swój plik pdf, używając jego plików js.
dlaczego przenosisz cały plik przez http, a nie tylko otworzyć adres URL tego pliku? window.open (fileUrl)? –
@MajoB Próbowałem w ten sposób również, ale w kanciastym otrzymuję błąd, jak Nie wolno załadować zasobów lokalnych: nie udało się wczytać ścieżki pliku .. – Lakshman
Zobacz tę odpowiedź: http://stackoverflow.com/questions/21628378/angularjs -display-blob-pdf-in-an-angle-app – stacky