如何在文件和数据库中存储之前更改文件名

时间:2015-06-11 02:48:21

标签: c# file

此代码用于检查用户是否已上传任何文件和文件namd。

if (FileUpload1.HasFile) {
    fileName = FileUpload1.FileName;
    FileUpload1.PostedFile.SaveAs(Server.MapPath("~/Data/") + fileName);
    fileLocation = Server.MapPath("~/Data/") + fileName;
}

我想知道我可以在文件名末尾添加当前日期。我的文件可以是任何类型的文件。我尝试添加FileName = FileUpload1.FileName + updateon;但该文件将保存为example.jpg11062015,文件将被破坏。

任何人都知道如何做到这一点?

2 个答案:

答案 0 :(得分:2)

您可以使用PathFileName分隔为文件名和扩展名,将日期插入中间,然后将它们组合回来,如下所示:

var fn = Path.GetFileNameWithoutExtension(FileUpload1.FileName);
var ext = Path.GetExtension(FileUpload1.FileName);
var fileName = string.Format("{0}{1:yyyy-MM-dd}.{2}", fn, DateTime.Now, ext);

答案 1 :(得分:1)

尝试将文件名解析为部分,然后在两者之间插入日期,如下所示:

var newFileName = Path.GetFileNameWithoutExtension(FileUpload1.FileName)
                  + "11062015"  // or wherever the date is coming from
                  + Path.GetExtension(FileUpload1.FileName);
  

原始文件名:" someFile.ext"

     

修改后的文件名:" someFile11062015.ext"