我有一个MVC应用程序.当用户单击页面上的打开按钮时,我需要打开pdf文件.存储pdf的文件路径是从数据库中读取的,它是c:上的文件.如何在我的
HTML代码中打开它?我有这个代码:
<a href="@Model.CertificatePath" target="_blank" class="button3">Open</a>
但这不会打开我的文件.我需要做什么?我需要在某处指定它是一个pdf ??
解决方法
您需要提供一个动作路径,该路径将接收文件名,解析完整路径,然后将磁盘上的文件从服务器流式传输到客户端.谢天谢地,网络中的客户端无法直接从服务器的文件系统中读取文件(除非……您是否建议@ Model.CertificatePath是远程用户计算机上文件的路径?).
public ActionResult Download(string fileName) { string path = Path.Combine(@"C:\path\to\files",fileName); return File(path,"application/pdf"); }
更新
如果@ Model.CertificatePath是客户端实际计算机上的位置,请尝试:
<a href="file://@Model.CertificatePath" target="_blank" class="button3">Open</a>
请注意,某些浏览器可能具有安全设置,因此无法打开本地文件.