不允许加载本地资源:file://在MVC中使用iframe

时间:2018-08-04 05:38:46

标签: asp.net-mvc iframe

我正在MVC中工作,我正在尝试从Web服务器预览pdf,但显示错误为:

不允许加载本地资源:file://web-server/images/1324/Sample%20Document.pdf

<iframe src="@Model.urlpath" width="650" height="350" style="border: 1px solid #ccc; margin:10px 5px !important;"></iframe>

我正在尝试获取从Web服务器到本地应用程序的url路径

1 个答案:

答案 0 :(得分:0)

现代浏览器的默认安全设置不允许在具有<table class="table table-sm table hover border-bottom-1"> <thead class="thead-light"> <th scope="col" *ngFor="let column of columns" [ngClass]="{hide: !column.active}"> <input *ngif="hideFilters" class="px-2 w-100"> <tr> <th scope ="col" *ngFor ="let column of columns" [ngClass] ="{hide: !column.active}" >{{column.value}}</th> </tr> </thead> <tbody> <tr *ngFor ="let value of values"(click)="editvalue(value)"> <td class="text-truncate" *ngFor="let column of columns" [ngClass]="{hide:column.active}" >{{value[column.section][column.key]}} </td> </tr> </tbody> </table> //I need help 属性的元素中使用file://协议,包括src(相关问题herehere,请参见以及 same origin policy )。改用服务器的相对路径,如下例所示。

控制器

iframe

查看

var model = new ViewModel();
model.urlpath = string.Format("~/images/{0}/{1}", "1324", "Sample_Document.pdf");

或者在<iframe src="@Url.Content(Model.urlpath)" width="650" height="350" style="border: 1px solid #ccc; margin:10px 5px !important;"></iframe> 中使用硬编码的虚拟路径,然后从viewmodel属性中传递文件名:

控制器

@Url.Content

查看

var model = new ViewModel();
model.FileName = "Sample_Document.pdf";