C#删除文件时老是提示该文件正在使用

在用C#代码删除文件时老是提示文件正在使用,这是怎么一回事儿?望各位朋友给于指导!代码如下:PhotoModelphotoModel=newPhotoDal().GetP... 在用C#代码删除文件时老是提示文件正在使用,这是怎么一回事儿?望各位朋友给于指导!
代码如下:
PhotoModel photoModel = new PhotoDal().GetPhotoByParam(int.Parse(Request["txtId"].ToString()));
if (File.Exists(Server.MapPath(photoModel.PhotoPic)))
{
File.Delete(Server.MapPath(photoModel.PhotoPic));
}
int i = new PhotoDal().DeleteCorpPhoto(int.Parse(Request["txtId"].ToString()));
strJson = "照片删除成功!";
展开
 我来答
百度网友52c2bed
推荐于2016-09-18 · TA获得超过1156个赞
知道小有建树答主
回答量:761
采纳率:0%
帮助的人:1035万
展开全部
PhotoModel photoModel = new PhotoDal().GetPhotoByParam(int.Parse(Request["txtId"].ToString()));

string path=photoModel.PhotoPic;//定义一个变量来保存图片地址

//code ,释放photoModel对象,具体的语句可以看看PhotoModel里面的方法,比如Dispose方法
//然后再进行删除操作
if (File.Exists(Server.MapPath(path)))
{
File.Delete(Server.MapPath(path));
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tanghuawei
2010-05-17 · TA获得超过209个赞
知道小有建树答主
回答量:340
采纳率:0%
帮助的人:279万
展开全部
一定要记得读取之后要关闭流
如果你使用了FileStream要先把FileStream给Close掉。
也有可能你获取的是图片文件,在进行删除前,你的先销毁image对象,
System.Drawing.Image img = System.Drawing.Image.FromFile(filepath);
System.Drawing.Image bmp = new System.Drawing.Bitmap(img);
img.Dispose();
//销毁之后用bmp作为Image对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
墨秋梵光03r
2010-05-17 · TA获得超过156个赞
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:214万
展开全部
你好,你看下工具栏中是否有显示你要删除的文件,如果有把文件关闭,再运行程序,就可以正常关闭了
假设你现在要用C#删除一个记事本文件,但是你正好打开记事本进行修改,这个时候,就会提示,文件正在使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
python实践人
2010-05-17 · 喜欢python,更乐意分享给你
python实践人
采纳数:286 获赞数:861

向TA提问 私信TA
展开全部
是不是把照片用其他软件打开查看了,必须结束照片浏览程序,如ACDSEE就是这样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百灵题鸣
2010-05-17 · 超过21用户采纳过TA的回答
知道答主
回答量:203
采纳率:100%
帮助的人:82.4万
展开全部
先要结束文件操作,调用Close方法,即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式