2009-03-08 4 views
1

Am face à l'erreur après uploadind au serveur ... que l'accès est refusé .... quelqu'un peut me aider ....Accès refusé pour pdf à lire à l'aide iTextSharp au niveau du serveur

Document myDocument = new Document(PageSize.A5, 26, 72, 180, 180); 
    string strUniqueFn = "onlineinvoice.pdf"; 
    string imgpath = "logo.gif";  



    string strUser = Thread.CurrentPrincipal.Identity.Name.Substring(Thread.CurrentPrincipal.Identity.Name.IndexOf("\\") + 1).ToUpper(); 
    string strFolder = Server.MapPath("."); 
    System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(strFolder); 
    System.IO.FileInfo[] fi = di.GetFiles(strUser + "*.*"); 

    for (i = 0; i <= fi.Length - 1; i++) 
    { 
     System.IO.File.Delete(strFolder + "\\" + strUniqueFn); 
    } 

    string strPath = strFolder + "\\" + strUniqueFn; 

    PdfWriter pdfw = PdfWriter.GetInstance(myDocument, new FileStream(strPath, FileMode.Create)); 
    string iPath = strFolder + "\\" + imgpath; 
    pdfw.CloseStream = false; 

    myDocument.Open(); 

    ...................... 

    myDocument.Close(); 

Am face à l'erreur PdfWriter pdfw = PdfWriter.GetInstance(myDocument, new FileStream(strPath, FileMode.Create));

quelqu'un peut me aider ...

Merci

Répondre

0

il semble que ce soit juste un bug sur votre GetFiles/supprimer routine ("onlineinvoice.pdf" n'a probablement pas h ave strUser au début ...):

System.IO.FileInfo[] fi = di.GetFiles(strUser + "*.*"); 
    for (i = 0; i <= fi.Length - 1; i++) 
    { 

     System.IO.File.Delete(strFolder + "\\" + strUniqueFn); 
    } 

Mise à jour 1: Ne mettez pas les fichiers au niveau racine de votre site, faites-les groupés sur un dossier dans lequel vous pouvez donner écriture spécifique/supprimer autorisations

+0

hey il ne fonctionne jamais même si vous supprimez la fonction de suppression et même si vous ajoutez un dossier –

0

Vous essayez de créer un fichier dans le dossier racine de votre site. Ce faisant, vous obtenez une exception d'accès refusé. L'instruction suivante: new FileStream(strPath, FileMode.Create) va tenter de créer un nouveau fichier dans le dossier racine de votre site. L'exception est due au fait que le compte sur lequel votre site s'exécute ne dispose pas des autorisations suffisantes pour écrire dans ce répertoire. Accordez les autorisations d'écriture du compte au dossier racine ou comme Freddy Rios a suggéré de créer un sous-dossier dans lequel stocker vos fichiers pdf et vous devrez accorder des autorisations d'écriture uniquement à ce sous-dossier.

Questions connexes