我正在使用 System.Net.Mail 在 asp.net 中发送邮件。 作为附件邮件发送后如何删除附件文件.. 我尝试使用 File.Delete 方法..但我收到此错误.. 该进程无法访问文件路径\fun.jpg',因为它正被另一个进程使用。 谢谢
最佳答案
处理完 MailMessage 后将其丢弃。 在您添加为附件之前,它仍然会锁定您添加的文件。
var filePath = "C:\\path\\to\\file.txt";
var smtpClient = new SmtpClient("mailhost");
using (var message = new MailMessage())
{
message.To.Add("to@domain.com");
message.From = new MailAddress("from@domain.com");
message.Subject = "Test";
message.SubjectEncoding = Encoding.UTF8;
message.Body = "Test " + DateTime.Now;
message.Attachments.Add(new Attachment(filePath));
}
if (File.Exists(filePath)) File.Delete(filePath);
Console.WriteLine(File.Exists(filePath));
输出:假
我想如果在处理消息后您仍然有锁定文件的东西,那么您可能对文件有另一个锁定,但没有代码,我们无法帮助您。
关于c# - 删除附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2857107/