【发布时间】:2018-03-03 15:52:50
【问题描述】:
我正在尝试使用 iFrame 在本地存储中打开一个 .pdf 文件。 我试过的代码如下。
在 HTML 文件中
<object [data]="sanitizer.bypassSecurityTrustResourceUrl(selectedItem.FilePath)" type="application/pdf">
<iframe [src]="sanitizer.bypassSecurityTrustResourceUrl(selectedItem.FilePath)">
</iframe>
</object>
在 Component.ts 文件中
import { DomSanitizer } from '@angular/platform-browser';
this.selectedItem.FilePath="D:\WorkDir\Exceline\US.Exceline.GMS\US.Common.Web.Web\DocumentStore\beta\1\145\pdf.pdf"
如果没有消毒剂,它会抛出如下异常。
ERROR Error: unsafe value used in a resource URL context (see
http://g.co/ng/security#xss)
at DomSanitizerImpl.webpackJsonp.../../../platform-
browser/@angular/platform-browser.es5.js.DomSanitizerImpl.sanitize
(platform-browser.es5.js:3970)
at setElementAttribute (core.es5.js:9320)
at checkAndUpdateElementValue (core.es5.js:9291)
at checkAndUpdateElementInline (core.es5.js:9238)
at checkAndUpdateNodeInline (core.es5.js:12325)
at checkAndUpdateNode (core.es5.js:12271)
at debugCheckAndUpdateNode (core.es5.js:13132)
at debugCheckRenderNodeFn (core.es5.js:13111)
at Object.eval [as updateRenderer] (McDocumentsComponent.html:110)
at Object.debugUpdateRenderer [as updateRenderer] (core.es5.js:13096)
使用消毒剂不会打开文件。 我究竟做错了什么 ? 如何在本地服务器中打开 .pdf 文件。 ?
【问题讨论】:
标签: javascript html angular typescript iframe