Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 提供指向IIS外部文件的链接_C#_Asp.net - Fatal编程技术网

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

C# 提供指向IIS外部文件的链接,c#,asp.net,C#,Asp.net,我的系统中有一个上传功能,可以将文件存储在d驱动器上,例如d:\KBFiles。现在我需要通过internet explorer提供这些文件作为链接。显然,我不能只提供一个路径,例如D:\KBFiles\test.pdf。处理此情况的最佳方法是什么您需要在Web应用程序中为该windows文件夹创建一个虚拟文件夹。一旦IIS映射了虚拟文件夹,就可以使用直接链接,将您的WebApplication作为根目录 用这样的代码编写“代理”文件,并将其称为DownloadFile.aspx: string

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

您需要在Web应用程序中为该windows文件夹创建一个虚拟文件夹。一旦IIS映射了虚拟文件夹,就可以使用直接链接,将您的WebApplication作为根目录

用这样的代码编写“代理”文件,并将其称为
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>

这允许您在使用登录系统时检查用户权限,还可以根据一些白名单检查请求的文件,以防止黑客企图