从天蓝色Blob存储中显示Pdf

时间:2018-11-08 11:23:23

标签: angular azure azure-storage

我正在尝试在页面上显示pdf文件。 pdf文件位于天蓝色的斑点处。我正在从服务器获取指向Blob本身的链接,这样我可以直接从存储中获取文件,而不必通过服务器。

我设置了共享访问签名(SAS密钥),因为容器受到了保护。

由于我使用的是角度5,因此需要清理正在执行的URL。

 this.http.get(baseUrl + 'api/download/fileuri?sheetId=' + this.sheetId, { responseType: 'text' }).subscribe(result => {
        this.url = result.toString();            
        this.sanitizedUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.url);
        console.log(this.sanitizedUrl);
    }, error => console.error(error));

然后我将其放入一个对象中,但是除了白纸之外,我什么也没有得到,或者出现以下错误。

<object [data]="sanitizedUrl" type="application/pdf" style="width:100%; height:100vh"></object>

enter image description here

我天蓝色地设置了以下内容:

enter image description here

最奇怪的部分是:我可以抓取该文件,但是只要输入该链接,它就开始下载。但是,当我尝试从对象访问它时,它将引发该错误。因此,链接是正确的,并且可以正常工作。每当我尝试从页面内访问它时。.

1 个答案:

答案 0 :(得分:1)

我建议您下载Microsoft Azure存储资源管理器。在其中,您可以为特定资源设置CORS策略。我希望它能解决您的问题。

enter image description here