编码平台:ASP.NET 4.0 C#
请考虑以下情况。
我正在使用asp:FileUpload
将名为“StackOverflow.doc”的文件上传到文件夹Documents
但是文件夹文件已经有一个名为“StackOverflow.doc”的文件
在这种情况下,我想将我的文件重命名为StackOverflow(1).doc。
我知道如何使用GUID或指定临时名称使文件名唯一 但我需要的是像浏览器一样的Windows资源管理器。哪种方法最好?
P.S:解决方案应该是多余的。也就是说,如果有名为StackOverflow.doc和StackOverflow(1).doc的文件,我的重命名文件应为StackOverflow(2).doc答案 0 :(得分:3)
以下是获取文件名的一种方法(为简洁起见,未包含文件路径逻辑):
string fileName = downloadFileName;
string fileExt = downloadFileExtention;
string fullFileName = string.Format("{0}.{1}", fileName, fileExt);
int counter = 0;
while(File.Exists(fullFileName))
{
counter++;
fullFileName = string.Format("{0}({1}).{2}", fileName, counter, fileExt);
}
// Write the file to fullFileName