上传文件,如果文件存在则递归重命名文件;递增+1

上传文件,如果文件存在则递归重命名文件;递增+1

1、建一个类用户保存文件信息;

2、递归方法;

3、实际调用;

1、

 1     /// <summary>
 2     /// 用户保存文件信息
 3     /// </summary>
 4     public class UploadInfo
 5     {
 6         private string fileDir;//文件夹
 7         private string fileName;//文件名
 8         
 9         public string FileDir
10         {
11             get { return fileDir; }
12             set { fileDir = value; }
13         }
14         public string FileName
15         {
16             get { return fileName; }
17             set { fileName = value; }
18         }
19         public string FullFilePath
20         {
21             get { return this.fileDir + "\\" + this.fileName; }
22         }
23         public UploadInfo(string fileDir,string filename)
24         {
25             this.fileDir = fileDir;
26             this.fileName = filename;
27         }
28     }

2、

/// <summary>
    /// 递归文件重命名 递增+1
    /// </summary>
    /// <param name="obpmfile">文件对象</param>
    /// <param name="i">从0开始</param>
    /// <param name="Fname">文件名</param>
    /// <param name="extName">拓展名</param>
    protected void reName(UploadInfo obpmfile, int i, string Fname, string extName )
    {
        if (File.Exists(obpmfile.FullFilePath))
        {
            i++;
            obpmfile.FileName = Fname + i + extName;
            reName(obpmfile, i, Fname, extName);
        }
    }

3、

1 fileName = "abc.doc";//上传的文件
2 fileRealDir = "D:\\upload\\item";//服务器保存文件的路径
3 
4 UploadInfo obpmfile = new UploadInfo(fileRealDir,fileName);
5 string FName = fileName.Substring(0, fileName.LastIndexOf("."));//真正文件名
6 string ExtName = fileName.Substring(fileName.LastIndexOf("."));//文件拓展名
7 reName(obpmfile, 0, FName, ExtName);

 

posted @ 2013-05-15 12:00  loklook123  阅读(404)  评论(0编辑  收藏  举报