繁体   English   中英

从ASP.NET C#中的虚拟目录上载/下载

[英]Upload / Download From Virtual Directories in ASP.NET C#

我希望能够从ASP.NET WebApp中的特定文件夹上载/下载文件,现在由于该应用程序位于C:/目录中,所以我不想占用该分区中的空间,因此我添加了一个虚拟指向文件夹E:/ Docs / Emps /的目录,现在我可以上传了..但我找不到E:/ Docs / Emps /中的文件,它不存在,当我搜索它们时,结果随我在IIS中创建的虚拟文件夹中的URL,现在当我开始实现下载部分时..我根本无法下载它,也无法找到/访问[如果我设法找到它们]文件在Google上花了很多时间,我尝试使用WebClient,但出现此异常

信息
-----------
WebClient请求期间发生异常。
-----------
内部异常
-----------
System.NotSupportedException:不支持给定路径的格式。 在System.IO.FileStream.Init(系统上的字符串路径,FileMode模式,FileAccess访问,Int32权限,布尔useRights,FileShare共享,Int32 bufferSize,FileOptions选项,SECURITY_ATTRIBUTES secAttrs,字符串msgPath,布尔bFromProxy,布尔useLongPath,布尔checkHost)处.IO.FileStream..ctor(字符串路径,FileMode模式,FileAccess访问),位于System.Net.WebClient.DownloadFile(Uri地址,字符串fileName)
-----------
堆栈跟踪
-----------
在System.Net.WebClient.DownloadFile(Uri地址,字符串fileName)在System.Net.WebClient.DownloadFile(字符串地址,字符串fileName)在APC_ERP.BusinessCore_EmployeesDocumentsCenter.imgbtnDownloadDocument_Click(对象发送者,ImageClickEventArgs e)

这是我正在使用的下载代码

WebClient Client = new WebClient();
string Path = Server.MapPath("~/"+(sender as ImageButton).CommandArgument);
string[]File=Path.Split('/');
string Destination = @"C:\" + File[File.Length - 1];
Client.DownloadFile(Path, Destination);
Client.Dispose();

您的变量Path的内容似乎不正确。 首先不支持正斜杠,其次也许是代字号(〜)-我不确定后者。 由于我们看不到您的数据,因此您应该调试并检查此路径变量以及Destination

另外,建议不要使用+ ,而将static Combine方法用于与路径相关的操作。 例:

Path.Combine(@"\\root\", (sender as ImageButton).CommandArgument);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM