使用C#在asp.net中删除文件?
问题描述:
当我在解决方案资源管理器中保存文档文件时,通过邮件发送该文档文件,然后我想删除文档文件。它发出这样的错误:process being used by another process
。使用C#在asp.net中删除文件?
下面请找我的代码:
protected void btnsubmit_Click(object sender, EventArgs e)
{
if (Label1.Text == txtverifytxt.Text)
{
if (rdoSevice.SelectedItem.Value == "1")
{
PackageType = ddlindPackages.SelectedItem.Text;
}
else if (rdoSevice.SelectedItem.Value == "2")
{
PackageType = ddlCorpPack.SelectedItem.Text;
}
if (ResumeUpload.PostedFile != null)
{
HttpPostedFile ulFile = ResumeUpload.PostedFile;
string file = ulFile.FileName.ToString();
FileInfo fi = new FileInfo(file);
string ext = fi.Extension.ToUpper();
if (ext == ".DOC" || ext == ".DOCX")
{
int nFileLen = ulFile.ContentLength;
if (nFileLen > 0)
{
strFileName = Path.GetFileName(ResumeUpload.PostedFile.FileName);
strFileName = Page.MapPath("") + "\\Attachments\\" + strFileName;
ResumeUpload.PostedFile.SaveAs(strFileName);
}
sendingmail();
FileInfo fi1 = new FileInfo(strFileName);
ResumeUpload.FileContent.Dispose();
Label2.Visible = true;
Label2.Text = "Request sent sucessfully";
fi1.Delete();
//if (File.Exists(strFileName))
//{
// File.Delete(strFileName);
//}
ClearAll(tblOrdernow);
//Response.Redirect("CheckOut.aspx");
}
else
{
Label2.Visible = true;
Label2.Text = "Upload only word documents..";
}
}
else
{
Label2.Visible = true;
Label2.Text = "Do not upload empty document..";
}
}
else
{
Label2.Visible = true;
Label2.Text = "Verify Image not Matched";
Label1.Text = ran();
}
}
答
最可能的原因是您创建从
ResumeUpload.PostedFile.SaveAs
尚未关闭的流。你可以尝试通过处理或关闭流来强制它。 HttpPostedFile有您可以使用此的InputStream属性:
的InputStream
获取一个流对象 指向上传的文件读取文件的内容准备 。
Mr.Chris小号ResumeUpload.PostedFile我得到这个唯一的,我没有得到处理或接近我想这感谢响应 – 2010-01-18 11:33:59
我已经更新了问题 – 2010-01-18 11:41:13
对不起Mr.Chris就是我没有下架 – 2010-01-18 11:46:18