【发布时间】:2009-09-11 17:35:12
【问题描述】:
在我的页面中。当我上传图片时,我做了图片管理。之后我想删除原始图像,但我收到文件已经在使用的错误,如下所示 (该进程无法访问文件 'D:\sasiweb\myimage\Images\jalsa.jpeg',因为它正被另一个进程使用。)
这是我的代码
protected void sizeManage(字符串文件名) {
string fn = Server.MapPath("~/Images/" + filename );
System.Drawing.Bitmap newimg = new System.Drawing.Bitmap(fn);
int h = newimg.Height;
int w = newimg.Width;
if (w > 100)
{
objJpeg = new ASPJPEGLib.ASPJpeg();
objJpeg.Open(Server.MapPath("~/Images/" + FileUpload1.FileName.ToString()));
int L = 100;
objJpeg.Width = L;
objJpeg.Height = objJpeg.OriginalHeight * L / objJpeg.OriginalWidth;
objJpeg.Save(Server.MapPath("~/Images/" + "small" + FileUpload1.FileName));
string path = Server.MapPath("~/Images/" + FileUpload1.FileName.ToString());
FileInfo file = new FileInfo(path);
file.Delete();
}
else
{
}
}
protected void Button1_Click(object sender, EventArgs e)
{
FileUpload1.SaveAs(Server.MapPath("~/Images/" + FileUpload1.FileName.ToString()));
sizeManage(FileUpload1.FileName.ToString());
}
我在 file.delete() 处遇到错误;
(该进程无法访问文件 'D:\sasiweb\myimage\Images\jalsa.jpeg',因为它正被另一个进程使用。)
【问题讨论】:
-
一些程序员发送了答案,但又出现同样的错误
-
(您在自己的帖子中提出的版主标志;版主标志功能用于管理问题、网站滥用等 - 不适用于常规问题请求)
-
可能是在 .NET 垃圾收集器出现并将其删除之前,保存在文件中的前一个对象仍在内存中。
标签: asp.net