上传文件,如果文件存在则递归重命名文件;递增+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);