ASP.NET(C#)怎么删除文件夹里前一天的内容(在线等)

时间:2022-03-30 05:53:47
我在下载附件时,把文件名重命名后另存为到一个临时文件夹里面,提供给用户下载,但是没办法在用户下载完成后把它删除,如果能删除掉文件夹里面前一天的内容也行,求求各位高手帮帮忙,这个问题困扰小弟几天了,不得其解,谢谢各位了!!

12 个解决方案

#1


GetCreationTime()
在每天的固定時間查看文件夾中所有文件是否前一天的
是就直接刪除,不是就保留

#2


1、使用Directory.GetFiles()获得所有文件
2、使用FileInfo.CreateTime判断是否在今天之前
3、使用FileInfo.Delete()删除

实例:
DirectoryInfo dir = new DirectoryInfo("文件夹");
foreach (FileInfo fi in dir.GetFiles())
{
    if (fi.CreationTime < DateTime.Today)
       fi.Delete();
}

#3


楼上正解  学习了

#4


不能删除?你看一下有没有删除的权限吧

#5


该回复于2008-11-26 10:35:31被版主删除

#6


哈哈,可以将2楼的代码转化成Windows Service这样就让OS自动删除了

不能删除:1.没有权限
2.文件在别的地方使用,不允许删除

#7


up

#8


2楼正解

#9


二楼 可以 再加上定时执行如下

//程序运行时开始计时(注意 并非以零点分隔)
void Application_Start(object sender, EventArgs e) 
{
            // 在应用程序启动时运行的代码
              System.Timers.Timer tm = new System.Timers.Timer(24 * 3600 * 1000);//指间隔一天运行一次
            tm.Elapsed += new System.Timers.ElapsedEventHandler(tm_Elapsed);
}

//删除一天前的文件的方法
        void tm_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            DirectoryInfo dir = new DirectoryInfo("文件夹");
            foreach (FileInfo fi in dir.GetFiles())
            {
                if (fi.CreationTime < DateTime.Today)
                    fi.Delete();
            }
        }

#10


按照二楼的思路可以实现.

#11


问题解决了!!

#12


谢谢各位大侠

#1


GetCreationTime()
在每天的固定時間查看文件夾中所有文件是否前一天的
是就直接刪除,不是就保留

#2


1、使用Directory.GetFiles()获得所有文件
2、使用FileInfo.CreateTime判断是否在今天之前
3、使用FileInfo.Delete()删除

实例:
DirectoryInfo dir = new DirectoryInfo("文件夹");
foreach (FileInfo fi in dir.GetFiles())
{
    if (fi.CreationTime < DateTime.Today)
       fi.Delete();
}

#3


楼上正解  学习了

#4


不能删除?你看一下有没有删除的权限吧

#5


该回复于2008-11-26 10:35:31被版主删除

#6


哈哈,可以将2楼的代码转化成Windows Service这样就让OS自动删除了

不能删除:1.没有权限
2.文件在别的地方使用,不允许删除

#7


up

#8


2楼正解

#9


二楼 可以 再加上定时执行如下

//程序运行时开始计时(注意 并非以零点分隔)
void Application_Start(object sender, EventArgs e) 
{
            // 在应用程序启动时运行的代码
              System.Timers.Timer tm = new System.Timers.Timer(24 * 3600 * 1000);//指间隔一天运行一次
            tm.Elapsed += new System.Timers.ElapsedEventHandler(tm_Elapsed);
}

//删除一天前的文件的方法
        void tm_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            DirectoryInfo dir = new DirectoryInfo("文件夹");
            foreach (FileInfo fi in dir.GetFiles())
            {
                if (fi.CreationTime < DateTime.Today)
                    fi.Delete();
            }
        }

#10


按照二楼的思路可以实现.

#11


问题解决了!!

#12


谢谢各位大侠