我的系统中有一个上传功能,可以将文件存储在驱动器上,例如D:\ KBFiles。现在我需要通过Internet Explorer提供这些文件作为链接。显然我不能提供一条路径,例如D:\ KBFiles \ test.pdf。什么是处理这种情况的最佳方式
答案 0 :(得分:1)
您需要在WebApplication中为该Windows文件夹创建一个虚拟文件夹。一旦IIS映射了虚拟文件夹,就可以使用直接链接,这将使您的WebApplication成为根。
答案 1 :(得分:1)
使用此类代码编写“代理”文件并将其命名为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>
这允许您在使用登录系统时检查用户权限,还可以针对某些白名单检查所请求的文件,以防止黑客攻击。