簡體   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