提供指向IIS外部文件的链接

本文关键字:文件 链接 外部 IIS | 更新日期: 2023-09-27 18:06:33

我的系统中有一个上传功能,将文件存储在d驱动器上,例如d:'KBFiles。现在我需要通过internet explorer提供这些文件作为链接。显然,我不能只是提供一个路径,例如D:'KBFiles'test.pdf。处理这种情况的最好方法是什么

提供指向IIS外部文件的链接

用这样的代码编写"proxy"文件,命名为DownloadFile.aspx:

string fileName = Request.QueryString["file"];
string filePath = Path.Combime("D:''KBFile", fileName);
Response.WriteFile(filePath);

然后有这样的链接:

<a href="DownloadFile.aspx?file=test.pdf">test.pdf</a>

这允许你检查用户权限,如果你正在使用登录系统,也可以检查请求的文件对一些白名单,以防止黑客企图。

您需要为您的WebApplication中的windows文件夹创建一个虚拟文件夹。一旦IIS映射了虚拟文件夹,就可以使用直接链接,这将使您的WebApplication作为根。