我正在尝试根据“上次修改日期”删除目录中超过 10 天的文件。它应该做的是从 moxiemanager 上传中获取输入(它会这样做),并将其输入到数据库中(它会这样做)。然后它应该删除超过 10 天的文件,但事实并非如此。以下是我的代码:
public ActionResult CreateMain(BulletinsViewModel viewModel)
{
if (ModelState.IsValid)
{
BulletinsContext.tblBulletins.Add(new tblBulletin
{
ID = viewModel.BulletinID,
BulletinDisplayDate = viewModel.BulletinDisplayDate,
BulletinFilename = viewModel.MainBulletinName
});
DirectoryInfo DI = new DirectoryInfo(Server.MapPath("~/Files/Bulletins"));
FileSystemInfo[] FSI = DI.GetFiles();
foreach (FileSystemInfo fInfo in FSI)
{
if (fInfo.Extension == ".pdf")
{
DateTime dt = DateTime.Now.AddDays(-10);
if (fInfo.CreationTime < dt)
try
{
fInfo.Delete();
}
catch { }
}
}
BulletinsContext.SaveChanges();
return RedirectToAction("MainBulletins");
}
return View(viewModel);
}
我认为可能是文件路径不是此方法的正确语法,或者“fInfo.CreationTime
”部分是错误的,但我觉得 CreationTime 会是最后修改?
最佳答案
您需要获取文件的LastModifiedDate
,您可以通过FileSystemInfo
类的属性LastWriteTime
获取该文件。
像这样改变你的 if 条件
if (fInfo.LastWriteTime < dt)
{
//your code
}
关于c# - 尝试删除在 .NET MVC 中插入时早于 X 天的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30910872/