Удалить загруженный файл из физического пути C#
I am trying to upload a file .When file is uploaded, I take some information from it and then i want to delete it.
I manage to upload it, save it and get the info from it, but when i try to delete it i get the follwing exception "The process cannot access the file 'C:\Data\UploadedDocuments\81741092055.pdf' because it is being used by another process."
Что я уже пробовал:
<pre>public async Task<IActionResult> SendMaillNewsLetter(IFormFile file,string subject,string fileName,string message) { tempGuid = Guid.NewGuid(); ContactUs objUserContactUs = new ContactUs(); var fileSavePath = _configuration.RootPath + fileName; if (file.Length > 0) { using (var stream = new FileStream(fileSavePath, FileMode.Create)) { await file.CopyToAsync(stream); } } List<string> NewsletterSubscriptionList = new List<string>(); NewsletterSubscriptionList = _UserModel.GetNewsletterSubscriptionList(NewsletterSubscriptionList); if(NewsletterSubscriptionList.Count>0) { foreach (string item in NewsletterSubscriptionList) { _emailSender.SendEmail(item, "", subject, message, fileSavePath); } if (System.IO.File.Exists(fileSavePath)) { try { System.IO.File.Delete(fileSavePath); } catch (Exception ex) { } } } return Ok(new { objUserContactUs }); }
Kornfeld Eliyahu Peter
Можете ли вы понять, что такое "другой процесс"?
Просто для проверки - вместо того, чтобы использовать блок, открывайте и закрывайте поток "вручную"...
F-ES Sitecore
Удалите "_emailSender.Строка "SendEmail", и если файл удален нормально, то это что - то внутри вашего emailSender, которое держит ссылку на открытый файл.
murkalkiran
Ф-Эс компания
сказал, что его холиндинг в _emailSender.Отправка электронных писем отключена отправка электронных писем отключена логика после отправки почты я освободил
var msg = new MailMessage();
любить
сообщение.Вложения.Располагать();
murkalkiran
после удаления _emailSender.SendEmail его удаление,но мне нужно отправить почту и удалить,еще одна вещь ,которую я заметил, это то, что я не могу удалить файл вручную также, когда приложение запущено, если я остановлю приложение и попытаюсь удалить файл вручную его удаление.как я могу решить эту проблему?