2010-01-29 136 views
6

在我的項目中,我想在更新之前重命名文件。例如我的系統中的一個文件,如Mycontact.xls。我想將它重命名爲sasi.xls(這是一個excel文件)。我如何在ASP.NET中編寫代碼?如何在ASP.NET中重命名文件?

其實我正在使用fileupload控件來獲取文件並重命名該文件,並將該文件重命名爲Solution Explorer

回答

6

不幸的是C#沒有提供文件重命名功能。總之,這個想法是這樣:

File.Copy(oldFileName, NewFileName); 

File.Delete(oldFileName); 

你也可以使用 - File.Move

+0

我會盡力讓你知道Bhaskar先生。感謝您的回覆 – 2010-01-29 08:48:16

+0

什麼是File.Move先生Bhaskar你能告訴我 – 2010-01-29 08:50:37

+5

System.IO.File.Move(oldFileName,NewFileName)...這將用一個新名稱移動文件(如果soure和目標文件夾是相同和文件名是不同的,那麼它將作爲重命名) – Bhaskar 2010-01-29 08:55:38

9

您可以用File.Move方法如做到這一點:

string oldFileName = "MyOldFile.txt"; 
string newFileName = "MyNewFile.txt"; 
File.Move(oldFileName, newFileName); 
+0

嗨溫斯頓史密斯,我使用fileupload控制,然後我怎麼能寫 – 2010-01-29 08:57:17

+0

其實我的要求是我從桌面使用fileupload得到一個excel文件,然後我想改變它的名稱並上傳到一個文件夾這是解決方案探索 – 2010-01-29 09:01:46

+0

感謝溫斯頓史密斯, 文件上傳使用:System.IO.File.Move(路徑_1 +文件名,路徑_1 +新文件名) – Sensa 2012-05-11 12:41:40

0

請注意,該代碼執行時,該文件的所有者會變成你有你的應用程序池設置標識上的網站在跑。

該帳戶可能沒有足夠的權限來「創建新的」或「刪除」文件。

我建議您將所有讀/寫文件放置在一個單獨的位置,以便您可以單獨控制該部分的安全設置。這也將從'可讀/寫'文件中分離出「只讀文件/可執行文件」(如aspx等)。