C# 从ASP.NET C中的虚拟目录上载/下载#
我希望能够从ASP.NET WebApp中的特定文件夹上载/下载文件, 现在,由于应用程序驻留在C:/directory中,我不想占用该分区中的空间,所以我添加了一个指向文件夹E:/Docs/Emps的虚拟目录/ 现在我可以上传了。。但是我在E:/Docs/Emps/中找不到文件,它不在那里, 当我搜索它们时,结果会在我在IIS中创建的虚拟文件夹中显示一个URL, 现在,当我开始实现下载部分时。。我根本无法下载它, 我无法找到/访问[如果我设法找到了]这些文件 在Google上花了太多时间后,我尝试使用WebClient,但我遇到了这个例外 消息C# 从ASP.NET C中的虚拟目录上载/下载#,c#,asp.net,.net,webforms,C#,Asp.net,.net,Webforms,我希望能够从ASP.NET WebApp中的特定文件夹上载/下载文件, 现在,由于应用程序驻留在C:/directory中,我不想占用该分区中的空间,所以我添加了一个指向文件夹E:/Docs/Emps的虚拟目录/ 现在我可以上传了。。但是我在E:/Docs/Emps/中找不到文件,它不在那里, 当我搜索它们时,结果会在我在IIS中创建的虚拟文件夹中显示一个URL, 现在,当我开始实现下载部分时。。我根本无法下载它, 我无法找到/访问[如果我设法找到了]这些文件 在Google上花了太多时间后,我
------------
WebClient请求期间发生异常
------------
内部异常
------------
System.NotSupportedException:不支持给定路径的格式。在System.IO.FileStream.Init(字符串路径、文件模式、文件访问权限、Int32权限、布尔用户权限、文件共享、Int32缓冲大小、文件选项选项、安全属性secAttrs、字符串msgPath、布尔bFromProxy、布尔useLongPath、布尔检查主机)和System.IO.FileStream..ctor(字符串路径、文件模式、文件访问权限)在System.Net.WebClient.DownloadFile(Uri地址,字符串文件名)
------------
堆栈跟踪
------------
在APC_ERP.BusinessCore_EmployeesDocumentSceneter.imgbtnDownloadDocument_Click(对象发送者,图像点击事件参数)的System.Net.WebClient.DownloadFile(Uri地址,字符串文件名)的System.Net.WebClient.DownloadFile(Uri地址,字符串文件名)中 这是我正在使用的下载代码
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
的内容似乎不正确。首先,正斜杠是不受支持的,其次,波浪号(~)可能是一个问题-我不确定后一个问题。由于我们看不到您的数据,您应该调试并检查此path变量以及目标
此外,建议对路径相关的操作使用静态组合方法,而不是使用+
。例如:
Path.Combine(@"\\root\", (sender as ImageButton).CommandArgument);