我在远程Web服务器上的以下位置有PDF文档:
C:\域\ BIN \发票\ 1000例.pdf
如何链接?我试过了:
string rootPath = Server.MapPath("~");
string path = Path.GetFullPath(Path.Combine(rootPath, "..\\Bin\\Invoices"));
<p>@Html.Raw("<a href='"+ path + "\\" + "1000.pdf'>Original PDF copy</a>")</p>
没有成功:浏览器工具提示会显示file:///C:/domains/bin/invoices/1000.pdf
感谢。
修改
使用Joe建议解决,这样:
public FileResult InvoiceInPdf(string id)
{
string rootPath = Server.MapPath("~");
string path = Path.GetFullPath(Path.Combine(rootPath, "..\\Bin\\Invoices\\"));
return File(path + id + ".pdf", "application/pdf");
}
答案 0 :(得分:2)
您无法创建超链接以浏览到服务器上任意位置的文件。这是一件好事,因为否则会损害您的Web服务器的安全性。
您应该创建一个Action,通过返回FileResult来流式传输您想要的文件。 Google将为您提供此方法的示例。