我正在开发一个有角度的应用程序,其中使用PDFJS查看器显示pdf。如果我从软件包(本地)加载pdf,则工作正常。
但是问题是我是否要从外部位置加载PDF
https://**.******.com/system/files/assets/new.pdf
。
我遇到了CORS问题。我在服务器(Nginx)中配置了以下内容。
'Access-Control-Allow-Origin' '*';
'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
以下是我的实际代码。
pdf.viewer.component.html
<pdf-viewer class="alignComponentCenter" [src]="pdfsrc" #PdfViewerComponent>
</pdf-viewer>
pdf.viewer.component.ts
import { Component, OnInit, ChangeDetectorRef, SecurityContext } from '@angular/core';
import { DomSanitizer, SafeResourceUrl, SafeUrl } from '@angular/platform-browser';
fnOpenAsset() {
let url = 'https://**.******.com/system/files/assets/new.pdf';
this.pdfSrc = this.sanitizer.sanitize(SecurityContext.RESOURCE_URL, this.sanitizer.bypassSecurityTrustResourceUrl(url));
//this.pdfSrc = /assets/new.pdf' //Working fine if this is uncommented instead of the above two lines
}
现在我有一个问题,通常当我在浏览器窗口中启动https://**.******.com/system/files/assets/new.pdf
时,它将进入登录页面。在那里,我将提供凭据,然后pdf将在窗口中打开。
我不处理这种登录问题,也不用设置角度凭证来访问PDF以使用pdfjs查看器显示。请引导我。