2010-01-29 137 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等)。