簡體   English   中英

將文件夾從本地計算機復制到服務器中的文件夾

[英]to copy folders from local machine to folder in server

從本地機器復制文件夾以從本地機器復制完整的文件和文件夾,即用戶必須完全選擇文件夾/目錄路徑[選擇路徑中的所有文件]將其粘貼/復制到文件夾中它在托管Web應用程序的Web服務器中。 ine到服務器中的文件夾

好吧,我很難理解您的英語。 據我了解,您的任務是在某個位置精確復制一個文件夾的副本,包括所有嵌套的文件夾和文件? 如果是的話,那么我強烈建議您使用控制台命令xcopy ,因為它已經進行了性能優化,並具有復制具有所有相關安全權限的文件結構的好處。

嘗試這個:

            string[] SourceFilez = System.IO.Directory.GetFiles("path", "*.*", System.IO.SearchOption.AllDirectories);
            string[] targetFilez = new string[SourceFilez.Length];
            SourceFilez.CopyTo( targetFilez, 0 );


            for(int i = 0; i < targetFilez.Length; ++i)
            {
                targetFilez[i] = targetFilez[i].Replace("oldfolder", "newfolder");

                string strThisDirectory = System.IO.Path.GetDirectoryName(targetFilez[i]);


                if (!System.IO.Directory.Exists(strThisDirectory))
                {
                    System.IO.Directory.CreateDirectory(strThisDirectory);
                }

                System.IO.File.Copy(SourceFilez[i], targetFilez[i]);
            }

您可能希望在try-catch-finally塊中包含for循環內容。

為了說明空目錄,您可能需要重復相同的代碼塊而不使用file.copy,將SourceFilez替換為:

string[] SourceDirectories = System.IO.Directory.GetDirectories("path", "*.*", System.IO.SearchOption.AllDirectories);

如果您具有IIS7,並且用戶沒有必要的權限來寫入目標文件夾,則需要使用模擬身份並將應用程序池切換為經典模式。



編輯:或者您是說一種將Web應用程序用戶計算機上的文件夾中的所有文件立即上載到服務器的方法? 在這種情況下,您需要JQuery uploadify:
http://www.uploadify.com/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM