에 asp.net MVC에서 파일을 해제 할 수 없습니다 여기에 내가 만든 함수입니다 :는 IIS
if (Valide())
{
try
{
File.Delete(Server.MapPath("F16client.pdf"));
}
catch
{
}
using (FileStream ms = new FileStream(Server.MapPath("F16client.pdf"), FileMode.Create, FileAccess.Write, FileShare.None))
{
PdfReader lecteur = new PdfReader(Server.MapPath("~/Formulaires/f16.pdf"));
PdfStamper etampeur = new PdfStamper(lecteur, ms);
// DO STUFF, Whatever
etampeur.FormFlattening = true;
etampeur.Close();
lecteur.Close();
System.Net.Mail.Attachment at = new Attachment(Server.MapPath("F16client.pdf"));
}
}
지역 테스트 할 때 그것은 작동하지만 IIS에서이 W3W 과정 내 f16client의 가자하지 않습니다. pdf와 나는 항상 다음과 같이 끝납니다 :
다른 프로세스에서 사용되고 있기 때문에 프로세스가 'D : \ inetpub \ wwwroot \ Formulaire16 \ F16client.pdf'파일에 액세스 할 수 없습니다.
IIS에서 로컬 파일을 테스트 할 때 해당 파일을 계속 사용하는 이유는 무엇입니까?
다른 곳에서 파일을여시겠습니까? – Jecoms
using 문에서이 행을 이동하면 어떻게됩니까? System.Net.Mail.Attachment at = 새 첨부 파일 (Server.MapPath ("F16client.pdf")); – Sparrow
대신 Temp 파일을 만드는 것이 좋습니다 - 코드가있는 것처럼 몇 가지 문제가 있습니다. –