c# - 如何在存储到文件和数据库之前更改文件名

标签 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 并且文件将被损坏。

有人知道怎么做吗?

最佳答案

可以使用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);

关于c# - 如何在存储到文件和数据库之前更改文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30770708/

相关文章:

java - 从 JTree 获取选定的文件名和路径

windows - Mathematica 中可移植笔记本的相对路径

android - 我怎样才能 "mount"Android 中的虚拟驱动器?

c# - EF Core 2.2 中的基类存在问题

c# - 与 IdentityUser 一起使用时, Entity Framework 核心拥有的类型值对象会引发“需要定义主键”错误。为什么?

c# - 由于 Intellisense 错误而无法发布

python - 如何从映射文件中读取行?

c# - 无法将数据库还原到 SQL Server 中的快照

c# - 如何将 Expires Header 添加到 iis7 中的自定义文件?

c - 如何使用 c 在桌面上创建文件