Hier ist die Funktion i gemacht:Datei kann nicht in asp.net MVC auf IIS veröffentlicht
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"));
}
}
Es funktioniert, wenn die lokale Prüfung, aber auf IIS, dieser W3W Prozess wird nicht gehen mein f16client lassen. pdf und ich immer am Ende mit:
Der Prozess kann nicht die Datei ‚D: \ inetpub \ wwwroot \ Formulaire16 \ F16client.pdf‘ zugreifen, da sie von einem anderen Prozess verwendet wird.
Warum wird diese Datei immer noch auf IIS verwendet und nicht beim Testen von lokalen ??????
Haben Sie die Datei anderswo geöffnet? – Jecoms
Was passiert, wenn Sie diese Zeile aus der using-Anweisung entfernen? System.Net.Mail.Attachment at = neuer Anhang (Server.MapPath ("F16client.pdf")); – Sparrow
Ich würde vorschlagen, Temp-Dateien stattdessen zu erstellen - es gibt ein paar Probleme mit dem Code, wie Sie es haben. –