angular - 显示来自 azure blob 存储的 Pdf
问题描述
我正在尝试在我的页面上显示一个 pdf 文件。pdf 文件位于 azure 上的 blob 中。我从服务器获取到blob本身的链接,这样我就可以直接从存储中获取文件,而不是通过服务器传递它。
我设置了共享访问签名(SAS 密钥),因为容器受到保护。
因为我使用的是 angular 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>
我在天蓝色中设置了以下内容:
最奇怪的部分是:我可以抓取该文件,但只需输入该链接,它就会开始下载它。但是当我尝试从对象访问它时,它会抛出该错误。所以链接是正确的并且有效。只是每当我尝试从页面内访问它时..
解决方案
推荐阅读
- c++ - 如果所有部分都失败,Catch2 将再次运行测试
- javascript - 在页面刷新时保持会话处于活动状态
- firebase - How to subscribe a firebase function so that it executes via a pub/sub trigger
- excel - VBA 缺少 Worksheet.Range 作为值并不断获取未设置对象变量(错误 91)
- jquery - 过早调用完整参数的 jQuery 加载
- php - 使用 in 和 out 参数从 php 调用 mysql 过程
- c# - 如何在 if 条件下忽略 @RenderBody()
- git - GitHub For Windows 缺少在 Visual Studio 中打开按钮
- python - 公司名称之间的相似之处:compsim 模块不起作用
- javascript - 在 Chrome 开发工具中编辑库源文件