Javascript 未编译AngularJS ng src/ng data attr
您好,我正在从Web服务请求一个pdf,希望在请求完成并生成ObjectUrl后显示pdf。我的问题是,“嵌入”中的ng src或“对象”中的ng data attr没有编译,浏览器正在下载url/{{pdfData}} 这是我的DOM:Javascript 未编译AngularJS ng src/ng data attr,javascript,angularjs,pdf,Javascript,Angularjs,Pdf,您好,我正在从Web服务请求一个pdf,希望在请求完成并生成ObjectUrl后显示pdf。我的问题是,“嵌入”中的ng src或“对象”中的ng data attr没有编译,浏览器正在下载url/{{pdfData}} 这是我的DOM: <div ng-if="pdfData != ''"> <embed ng-src="{{pdfData}}" style="width:200px;height:200px;" type="application/pdf">
<div ng-if="pdfData != ''">
<embed ng-src="{{pdfData}}" style="width:200px;height:200px;" type="application/pdf"></embed>
<!--<object ng-bind="pdfData" data="{{pdfData}}" type="application/pdf" width="100%" height="800px">-->
<br>Objekt:
<object ng-attr-data="{{pdfData}}" type="application/pdf" width="100%" height="800px">
目标:
我的JS代码:
$http.post('url', { }).
then(function(response) {
var byteCharacters = atob(response.data.trim())
var byteNumbers = new Array(byteCharacters.length);
for (var i = 0; i < byteCharacters.length; i++) {
byteNumbers[i] = byteCharacters.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
var blob = new Blob([byteArray], {type: 'application/pdf'});
var blobUrl = URL.createObjectURL(blob);
$scope.pdfData = $sce.trustAsResourceUrl(blobUrl);
},
function errorCallback(response) {
console.log(response);
});
$http.post('url',{})。
然后(功能(响应){
var byteCharacters=atob(response.data.trim())
var byteNumbers=新数组(byteCharacters.length);
for(变量i=0;i
当我运行上述代码时,它在Google Chrome上运行良好,但在IE/Firefox上运行不好
我还尝试了一个自己的指令,如下所述:
但是我有一个问题,当我为另一个PDF创建新的src url时,分配给$scope.pdfData的新PDF没有加载到嵌入或对象控件中
感谢您的帮助您想制作snippet还是JSFIDLE来澄清问题?您好,我准备了一个plunkr。不幸的是,加载base 64的请求不起作用(但在我的环境中我对它没有问题)。但也许你知道出了什么问题。谢谢你的帮助!Plunkr:您想制作snippet还是JSFIDLE来澄清?您好,我准备了一个Plunkr。不幸的是,加载base 64的请求不起作用(但在我的环境中我对它没有问题)。但也许你知道出了什么问题。谢谢你的帮助!普朗克: