2017-01-18 5 views
-3

Я создал файл PDF с помощью iTextsharp. в то время как присоединение к электронной почте или файл удалить это дает мне эту ошибку:Как мне удалить файл PDF из предыдущего процесса в ядре .Net?

Ваш файл используется другим процессом, вы не можете удалить или прикрепить его

PdfWriter writer = PdfWriter.GetInstance(myDocument, new FileStream(filename1, FileMode.Create)); 
builder.Attachments.Add(filename1); 
System.IO.File.Delete(filename1); 
+2

Вы не можете показывать свои коды? – Raptor

+0

'PdfWriter writer = PdfWriter.GetInstance (myDocument, новый FileStream (filename1, FileMode.Create)); builder.Attachments.Add (имя_файла1); System.IO.File.Delete (имя_файла1); ' –

+1

Пожалуйста, отредактируйте свой вопрос и добавьте туда код ... –

ответ

1

Это никогда не может работать:

PdfWriter writer = PdfWriter.GetInstance(myDocument, new FileStream(filename1, FileMode.Create)); 
builder.Attachments.Add(filename1); 
System.IO.File.Delete(filename1); 

Вы создаете объект writer, который записывает в файл filename1. Этот поток ожидает байтов PDF, созданных с помощью iText.

Непонятно, что вы делаете в этой строке: builder.Attachments.Add(filename1); Мы не знаем, что такое builder, но я предполагаю, что это абсолютно не относится к вашему вопросу.

Однако: еще до того, как вы добавили любые байты PDF, а точнее: еще до того, как поток файлов будет закрыт, вы уже пытаетесь удалить файл filename1. Это невозможно, потому что этот файл все еще используется: вы никогда не добавляли никакого PDF-контента, и вы его не закрывали.

Похожие вопросы:

Резюме:

Ошибка объясняет, что вам нужно, чтобы закрыть FileStream, прежде чем удалить файл. Закройте этот поток!

 Смежные вопросы

  • Нет связанных вопросов^_^