Asp.net中如何删除正在使用的文件

来源:百度知道 编辑:UC知道 时间:2024/05/21 06:22:51
我自己做了一个相册,在编辑相册的时候点击“删除”LinkButton就会从数据库中删除选中的图片,但是在硬盘上的文件由于正在使用无法删除,我应该怎么从硬盘里也删掉该选中的图片呢?

我试过了用下面两种方法都不行
1.

for (int i = 0; i < ds.Tables["t1"].Rows.Count; i++)
{
string filePath = Server.MapPath("~Pic/SheTuanImg/" + ds.Tables["t1"].Rows[i][0].ToString());
if (File.Exists(filePath))
{
File.Delete(filePath);
}
}

2.
for (int i = 0; i < ds.Tables["t1"].Rows.Count; i++)
{
string filePath = Server.MapPath("~Pic/SheTuanImg/" + ds.Tables["t1"].Rows[i][0].ToString());
FileInfo fi = new FileInfo(filePath);
if (fi.Exists)
{
fi.Delete();
}
}
就只有我自己的网站使用这些图片,cnmahj - 经理 四级 说先释放这个对象,可以给我代码吗?我是初学Asp.net。多谢了。

1、正在使用的文件不能删除,不是Windows也一样
2、检查是不是没有别的程序在使用这个图片文件,只是你自己的网站,方法:运行网站前,尝试删除图片文件,删到回收站即可。运行网站,再删除试试。
3、若是你自己的,按cnmahj - 经理 四级说的做。
4、若不是你自己的,检查任务管理器中是哪个,方法:重启机器,立即做2的尝试;查看启动项;逐个结束非系统任务。找到是哪个程序后,不让它自动启动或运行。
应该不会是别的程序,你网站文件夹下的一个图像文件,别的程序一般不会用。还是你自己程序逻辑的问题,检查,别的程序段中,什么地方打开这个文件忘记关闭了?
********
所谓释放就是关闭,比如你创建了Stream,随后不要忘了Close

正在使用的文件在那里都不能删除。。asp.net也不例外

如果是你自己的程序在使用,你可以先释放掉这个对象,然后再删文件。
如果是别的程序在使用,那就没有办法了。

1.听你说的意思就是你在数据库中存在,这个图片,那么你还在硬盘中存储有什么作用?
2.要不你就在删除的时候重新加载一次你所需要的东西

这个不可能实现的.这是WINDOWS的文件保护机制

正在使用的文件不能删