我正在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路径
答案 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
(相关问题here和here,请参见以及 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";