IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Le processus ne peut pas accéder au fichier car il est utilisé par un autre processus


Sujet :

ASP.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Le processus ne peut pas accéder au fichier car il est utilisé par un autre processus
    bonjour tout le monde
    J'ai un problème de IOException
    Le processus ne peut pas accéder au fichier car il est utilisé par un autre processus
    J'ai deux fichiers pdf, un pour lecture et l'autre pour l'écriture, alors j'ai utilisé deux filestream, et un PdfStamper, sachant que je ferme mon PdfStamper quand je termine mon Traitement
    voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
       Dim open As New FileStream("D:\FormA.pdf", FileMode.Open)
       Dim create As  New FileStream("D:\FormB.pdf", FileMode.create)
       Dim reader As PdfReader = New PdfReader(open)
       Dim stamper As PdfStamper = New PdfStamper(reader, create)
     
    "-------Traitement------
            ----------"
     
                 open.Close()
               stamper.Close()
               create.close()
    merci

  2. #2
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Pour éviter l'échappement, utilise @ :
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       Dim open As New FileStream(@"D:\FormA.pdf", FileMode.Open)
       Dim create As  New FileStream(@"D:\FormB.pdf", FileMode.create)
    EDIT : Apparemment ça n'est qu'en C#.... on me dit dans l'oreillet qu'en VB c'est " pour l'échappement.


    Tu essayes de fermer ton flux "open" qui est utilisé par ton PdfReader "reader".

    Il faudrait donc fermer ton "stamper" avant "reader" et "create", et fermer "reader" avant "open".

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 11
    Points : 9
    Points
    9
    Par défaut erreur de proccess
    Bonjour
    j'ai essayé de suivi ce que tu ma dis , de fermer ton "stamper" avant "reader" et "create", et fermer "reader" avant "open".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                   stamper.Close()
                    reader.Close()
                    create.Close()
                    open.Close()
    cela marche pour la 1ere utilisation , mais l'erreur apparaît si on clique pour la 2eme fois sur la bouton et il mentionne que le 2eme fichier pdf sur create et ouvert meme si je le ferme ete meme si je fais create.dispose !!

  4. #4
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Tu ne l'ouvres pas ailleurs dans ton code ?

    Dispose ne change pas grand chose ici à mon avis.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Non je l'ouvre pas , voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Dim open As FileStream
                Dim create As FileStream
                Dim reader As PdfReader
                Dim stamper As PdfStamper
                Dim canvas As PdfContentByte
     
                Try
                    open = New FileStream("D:FormA.pdf", FileMode.Open)
                    create = New FileStream("D:FormB.pdf", FileMode.Create)
                    reader = New PdfReader(open)
                    stamper = New PdfStamper(reader, create)
                    canvas = stamper.GetOverContent(1)
     
     
                Catch ex As IOException
                    MsgBox(ex.Message.ToString)
     
               Finaly
     
                   stamper.Close()
                    reader.Close()
                    create.Close()
                    open.Close()
                End Try

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Oh c bizarre je suis complétement con
    bon je l'ouvre ailleurs dans mon code pour que je l'affiche dans adobe reader

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
              Dim ProcessStartInfo As New System.Diagnostics.ProcessStartInfo
                ProcessStartInfo.FileName = "D:\FormA.pdf"
                ProcessStartInfo.UseShellExecute = True
                ProcessStartInfo.CreateNoWindow = False
                System.Diagnostics.Process.Start(ProcessStartInfo)

    par contre si je met ce code en commentaire , ca fonctionne parfaitement , mais moi je veux qu'a chaque fois quand on clique sur la boutton mon pdf se modifier et s'affiche sur mon écran

  7. #7
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,
    Ce sont des objets disposables à imbriquer dans des "using" Inutile ainsi d'appeler la méthode close.

    A+

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/09/2014, 09h51
  2. Réponses: 4
    Dernier message: 21/01/2014, 07h15
  3. Réponses: 18
    Dernier message: 28/10/2009, 23h17
  4. Réponses: 22
    Dernier message: 02/10/2009, 10h31
  5. Erreur : Le processus ne peut pas accéder au fichier
    Par victor72 dans le forum Dev-C++
    Réponses: 1
    Dernier message: 16/03/2007, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo