【发布时间】:2017-05-06 11:26:12
【问题描述】:
我正在从输入 html 中获取一个 PDF 文件并尝试使用 HTML5 File API 使其显示,我可以 console.log 文件 url 但它没有显示在我的 iframe 中:
这是我的html:
<html ng-app="PDFReaderApp">
<head>
<title> Automatically get your GPA from submitting in your transcript pdf file </title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular-route.js"></script>
<script src="./pdf.js" ></script>
<script src="./app.js" ></script>
<script src="./controllers.js"></script>
<style>
iframe {
height: 500px;
width: 400px;
margin: 2em;
}
</style>
</head>
<body ng-controller="TranscriptReaderCtrl">
<input id="inputPDF" type="file" accept="application/pdf" onchange="angular.element(this).scope().getPDF(this.files)" />
<div id="display">
<iframe id="viewer" ng-src="{{fileUrl}}" ></iframe>
</div>
</body>
</html>
和我的 angularjs 控制器代码:
function TranscriptReaderCtrl($http, $scope, $window, $sce) {
$scope.uploadedPDF = "";
$scope.fileUrl = "";
$scope.getPDF = function(files) {
var fileUrl = $window.URL.createObjectURL(files[0]);
console.log(fileUrl);
$scope.fileUrl = $sce.trustAsResourceUrl(fileUrl);
console.log($scope.fileUrl);
}
}
【问题讨论】:
-
在您的活动完成后运行摘要循环,read this answer 了解更多信息
-
谢谢,我试过了,但现在我只有一个显示空白文件的 iframe:资源解释为文档,但使用 MIME 类型应用程序/pdf 传输:“blob:null/5e8fac22-159b-4338 -935f-ff32b9ff5cb4"
标签: javascript angularjs html iframe