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

VB.NET Discussion :

erreur "illegal characters in path" quand j`insère un enregistrement


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Par défaut erreur "illegal characters in path" quand j`insère un enregistrement
    Salut à tous
    j`avais rencontré depuis longtemps un problème qui m`a vraiment traumatisé lorsque je désire copier une image uploader par l`utilisateur vers un dossier, le drole c`est que parfois l`opération se termine nikel avec succés mais parfois m`arrive l`erreur suivante:
    illegal characters in path
    alors la premiere chose que je fesais c`est d`essayer de cerner l`erreur par élimination lorsque j`arrivais à me douter sur la ligne suivante de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.IO.File.Copy(imageToCopy, newImage)
    je vous fournis mon code esperant que vous m`aider à trouver une solution et merci d`avance
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    'declarattion des 2 path pour le transfert de l`image
                Dim imageToCopy As String
                Dim newImage As String
                'declaration des 2 path pour le transfert de l`audio
                Dim audioToCopy As String
                Dim newAudio As String
                'initialisation des 2 path pour le transfert de l`image
                imageToCopy = TextBox1.Text
                nomImage = nomImage + extensionImageFile.ToString
                newImage = "D:/code_de_la_route/images/" + nomImage.ToString
                'initialisation des 2 path pour le transfert de l'audio
                audioToCopy = TextBox2.Text
                nomAudio = nomAudio + extensionAudioFile.ToString
                newAudio = "D:/code_de_la_route/audios/" + nomAudio.ToString
     
                Try
                    'enregistrer l`image dans le dossier correspondant
                    System.IO.File.Copy(imageToCopy, newImage)'j`ai doute que l`erreur vient d`ici
                    'enregistrer l`audio dans le dossier correspondant
                    System.IO.File.Copy(audioToCopy, newAudio)
                    'preparer les requetes
                    Dim sqlQRY1 As String = "INSERT INTO AUDIO  Values ('" + nomAudio + "')"
                    Dim sqlQRY2 As String = "INSERT INTO [IMAGE] Values ('" + nomImage + "')"
                    Dim sqlQRY3 As String = "INSERT INTO [TEST](Int_Exa,Rep_Correctes,Nom_Aud,Nom_Img)  Values ('" + nomExamen + "','" + repTest + "','" + nomAudio + "','" + nomImage + "')"
                    'ouvrir la connexion
                    myConnexion.Open()
                    'MsgBox(nomImage)
                    'creation des commandes
                    Dim cmd1 As OleDbCommand = New OleDbCommand(sqlQRY1, myConnexion)
                    Dim cmd2 As OleDbCommand = New OleDbCommand(sqlQRY2, myConnexion)
                    Dim cmd3 As OleDbCommand = New OleDbCommand(sqlQRY3, myConnexion)
                    'exécution des requetes
                    cmd1.ExecuteNonQuery()
                    cmd2.ExecuteNonQuery()
                    cmd3.ExecuteNonQuery()
     
                    MsgBox("Test ajouté avec succés.", MsgBoxStyle.Information)
     
                    'fermer la connexion
                    myConnexion.Close()
                    TextBox1.Text = ""
                    TextBox2.Text = ""
                    CheckBox1.Checked = False
                    CheckBox2.Checked = False
                    CheckBox3.Checked = False
                    CheckBox4.Checked = False
                    PictureBox1.Image = Nothing
                    PictureBox1.BackgroundImage = Nothing
                    nbTest = nbTest - 1
                Catch ex As Exception
                    MsgBox("Operation suspendue, merci de cliquer de nouveau sur le bouton 'Enregistrer le Test' !!")
                Finally
                    myConnexion.Close()
                End Try
    j`ai pas mis tout le code mais il faut admettre que toutes les variables sont déclarés pas de probleme.
    pour le message dans le catch je l`avais mis provisoirement pour ne pas montrer l`erreur à l`utilisateur mais c`est pas honnete quoi non?

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Code :
    illegal characters in path
    Ca, ca veut surement dire que ton path ("D:/code_de_la_route/images/" + nomImage.ToString), contient un caractère interdit.

    genre : ' # ] etc....

    Comment se nomme tes fichiers nomImage ?

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Par défaut
    salut, la variable nomImage va recevoir le retour d`une fonction dédiée qui a pour but de former un nom suite a des calculs aleatoires combinés lettres et chiffres seulement c`est a dire que le retour est genre:
    2G8W1F3K4M8W
    j`ai vérifié que ca contient pas de caracteres interdits
    j`arrive pas encore a me debrouiller je compte sur votre savoir

  4. #4
    Membre chevronné Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Par défaut
    Essaye de faire ça @"C:\example\example"
    Sinon met un point d'arrêt et donne nous un exemple de path qu'il considère comme illegal

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonjour,
    d'accord avec Jerede, déjà remplacer les slash par des antislach (séparateur "officiel" de fichiers sous Windows).
    Ensuite vérifier qu'il n'y a pas d'espaces blancs , ce qui parfois peut aussi poser problème.

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Par défaut
    Salut, voila l`interface de mon formulaire, sur ce formulaire l`utilisateur va configurer un examen qui est ensemble de test, chaque test est composé d`une image, d`un audio et d`un ensemble de reponses justes.
    Nom : devForum.jpg
Affichages : 159
Taille : 32,5 Ko
    lorsque l`utilisateur clique sur le bouton "Enregistrer le test" le code suivant va s`executer:
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     Private Sub enregistrer_test_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles enregistrer_test.Click
            'les reponses justes du test
            Dim repTest As String = ""
            'récuperer l`ensemble des réponses
            If CheckBox1.Checked = True Then
                repTest = repTest + "A "
            End If
            If CheckBox2.Checked = True Then
                repTest = repTest + "B "
            End If
            If CheckBox3.Checked = True Then
                repTest = repTest + "C "
            End If
            If CheckBox4.Checked = True Then
                repTest = repTest + "D"
            End If
            If TextBox1.Text.Length = 0 Then
                MsgBox("veuillez sélectionner une image")
            ElseIf repTest.Length = 0 Then
                MsgBox("veuillez cocher les réponses que vous jugez justes pour le test")
            ElseIf TextBox2.Text.Length = 0 Then
                MsgBox("veuillez sélectionner une audio")
            Else 'les tests ne sont pas terminés
     
                nomImage = calculerNom()
                'OpenFileDialog1.FileName = nomImage
                nomAudio = calculerNom()
                'declarattion des 2 path pour le transfert de l`image
                Dim imageToCopy As String
                Dim newImage As String
                'declaration des 2 path pour le transfert de l`audio
                Dim audioToCopy As String
                Dim newAudio As String
                'initialisation des 2 path pour le transfert de l`image
                imageToCopy = TextBox1.Text
                nomImage = nomImage + extensionImageFile.ToString
     
                nomImage = Trim(nomImage)
                newImage = "D:\code_de_la_route\images\" + nomImage.ToString
                'initialisation des 2 path pour le transfert de l'audio
                audioToCopy = TextBox2.Text
                nomAudio = nomAudio + extensionAudioFile.ToString
                nomAudio = Trim(nomAudio)
                newAudio = "D:\code_de_la_route\audios\" + nomAudio.ToString
     
                Try
                    'enregistrer l`image dans le dossier correspondant
                    System.IO.File.Copy(imageToCopy, newImage)
                    'enregistrer l`audio dans le dossier correspondant
                    System.IO.File.Copy(audioToCopy, newAudio)
                    'preparer les requetes
                    Dim sqlQRY1 As String = "INSERT INTO AUDIO  Values ('" + nomAudio + "')"
                    Dim sqlQRY2 As String = "INSERT INTO [IMAGE] Values ('" + nomImage + "')"
                    Dim sqlQRY3 As String = "INSERT INTO [TEST](Int_Exa,Rep_Correctes,Nom_Aud,Nom_Img)  Values ('" + nomExamen + "','" + repTest + "','" + nomAudio + "','" + nomImage + "')"
                    'ouvrir la connexion
                    myConnexion.Open()
                    'MsgBox(nomImage)
                    'creation des commandes
                    Dim cmd1 As OleDbCommand = New OleDbCommand(sqlQRY1, myConnexion)
                    Dim cmd2 As OleDbCommand = New OleDbCommand(sqlQRY2, myConnexion)
                    Dim cmd3 As OleDbCommand = New OleDbCommand(sqlQRY3, myConnexion)
                    'exécution des requetes
                    cmd1.ExecuteNonQuery()
                    cmd2.ExecuteNonQuery()
                    cmd3.ExecuteNonQuery()
     
                    MsgBox("Test ajouté avec succés.", MsgBoxStyle.Information)
                    extensionImageFile = Nothing
                    'fermer la connexion
                    myConnexion.Close()
                    TextBox1.Text = ""
                    TextBox2.Text = ""
                    CheckBox1.Checked = False
                    CheckBox2.Checked = False
                    CheckBox3.Checked = False
                    CheckBox4.Checked = False
                    PictureBox1.Image = Nothing
                    PictureBox1.BackgroundImage = Nothing
                    nbTest = nbTest - 1
                Catch ex As Exception
                    MsgBox("Operation suspendue, merci de cliquer de nouveau sur le bouton 'Enregistrer le Test' !!")
                    MsgBox(nomImage)
                    MsgBox(nomImage.Length)
                Finally
                    myConnexion.Close()
                End Try
                'tester s'il reste encore des tests a configurer
                If nbTest > 0 Then
                    Label7.Text = nbTest.ToString + " tests restants"
                Else
                    'si les tests sont terminés
                    'on quitte
                    Me.Hide()
                    MenuForm.Show()
                    MenuForm.TopMost = True
                End If
            End If
     
        End Sub
    dans le catch, j`ai essayé de fqire un msgbox(nomImage), alors le drole que lorsqu`il ya erreur, nomImage ne contenait que le nom alors que lorsque tout se passe bien je trouve que la variable nomImage contenait le nom et l`extension (sachant que cette derniere je l`avais extrait dans une autre procedure)
    voila, si vous désirez d`autres informations n`hesitez surtout pas à me les demander, je vous remercie a l`avance

  7. #7
    Membre chevronné Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Par défaut
    J'ai pas vraiment compris, tu as résolu ton erreur ou pas ?

  8. #8
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Par défaut
    pas encore, je voulais juste vous simuler le probleme, merci .

  9. #9
    Membre émérite Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par défaut
    Citation Envoyé par lucaazori1988 Voir le message
    dans le catch, j`ai essayé de fqire un msgbox(nomImage), alors le drole que lorsqu`il ya erreur, nomImage ne contenait que le nom alors que lorsque tout se passe bien je trouve que la variable nomImage contenait le nom et l`extension (sachant que cette derniere je l`avais extrait dans une autre procedure)
    voila, si vous désirez d`autres informations n`hesitez surtout pas à me les demander, je vous remercie a l`avance
    J'ai rien compris.... Ca serait utile de se relire (pour toi et pour les autres)

    Que veux-tu au juste?

  10. #10
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Par défaut
    Salut, je suis d`accord alors laissons à coté tout les posts précédents et repartirons dés le début
    j`ai une application VB.net pour l`apprentissage du code de la route.
    Alors, il faut uploader toutes les images et les audios concernant les tests à passer ainsi que les réponses justes de chaque test .
    Voila le formulaire dans lequel l`administrateur de l`application fait son upload:
    Nom : devForum.jpg
Affichages : 146
Taille : 32,5 Ko
    pour l`upload de l`image, ce code sera exécuté a chaque clique sur ce bouton:
    Nom : upload image.jpg
Affichages : 99
Taille : 4,7 Ko
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Private Sub browse_image_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles browse_image.Click
            Dim temp As String
            'pour l`upload des images
            OpenFileDialog1.Filter = "Image Files (*.jpg, *.bmp, *.gif, *.png)|*.jpg; *.bmp; *.gif; *.png"
            OpenFileDialog1.ShowDialog()
            TextBox1.Text = Nothing
            TextBox1.Text = Trim(OpenFileDialog1.FileName)
            If TextBox1.Text <> "" Then
                'le dernier indice de "\"
                temp = Trim(TextBox1.Text)
                Dim lstIndexUn As Integer = temp.LastIndexOf("\") + 1
                'le dernier indice de "."
                Dim lstIndexDeux As Integer = temp.LastIndexOf(".") + 1
                'calculer la longueur a extraire
                Dim length As Integer = lstIndexDeux - lstIndexUn
                'extraire le nom de l`image compris entre le dernier caractere "\" et le dernier "."
                nomImage = temp.Substring(lstIndexUn, length)
     
                'l`affichage de l`image peut déclencher une exception si aucune image n`est sélectionner
                Try
                    'extraire l`extension de l`image
     
     
                    extensionImageFile = temp.Substring(lstIndexDeux - 1) 'extensionImageFile est une variable publique dans sa classe 
                    'MsgBox(extensionImageFile)
                    'MsgBox(extensionImageFile.Length)
                    'essayer d`afficher l`image dans le cadre PictureBox1
                    PictureBox1.Image = PictureBox1.Image.FromFile(TextBox1.Text)
                    lstIndexUn = Nothing
                    lstIndexDeux = Nothing
                Catch ex As Exception
                    'si aucune image n`est sélectionner
                    TextBox1.Text = ""
                    MsgBox("veuillez sélectionner une image")
                    'OpenFileDialog1.FileName = Nothing
     
                End Try
            End If
        End Sub
    Pour l`upload de l`audion, le code suivant est exécuté à chaque fois que l`administrateur clique sur ce bouton :
    Nom : upload audio.jpg
Affichages : 98
Taille : 4,8 Ko
    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
    25
    26
     Private Sub browse_audio_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles browse_audio.Click
            'pour l`upload des audios
            OpenFileDialog2.Filter = "Audio(*.wav)|*.wav;"
            OpenFileDialog2.ShowDialog()
            TextBox2.Text = Nothing
            TextBox2.Text = OpenFileDialog2.FileName
     
            'le dernier indice de "\"
            Dim lstIndex1 As Integer = TextBox2.Text.LastIndexOf("\") + 1
            'le dernier indice de "."
            Dim lstIndex2 As Integer = TextBox2.Text.LastIndexOf(".") + 1
            'calculer la longueur a extraire
            Dim length As Integer = lstIndex2 - lstIndex1
            'extraire le nom de l`image compris entre le dernier caractere "\" et le dernier "."
            nomAudio = TextBox2.Text.Substring(lstIndex1, length)
            Try
                'extraire l`extension de l`audio
                extensionAudioFile = TextBox2.Text.Substring(lstIndex2 - 1)
            Catch ex As Exception
                'si aucune audio n`est sélectionner
                TextBox2.Text = ""
                MsgBox("veuillez sélectionner une audio")
     
            End Try
     
        End Sub
    aprés, l`aministrateur choisira les réponses supposées justes:
    Nom : choisir les reponses justes.jpg
Affichages : 110
Taille : 4,2 Ko
    Tout est terminé l`administrateur clique alors sur le bouton "Enregistrer le test" et le code suivant s`exécutera:
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    Private Sub enregistrer_test_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles enregistrer_test.Click
            'les reponses justes du test
            Dim repTest As String = ""
            'récuperer l`ensemble des réponses
            If CheckBox1.Checked = True Then
                repTest = repTest + "A "
            End If
            If CheckBox2.Checked = True Then
                repTest = repTest + "B "
            End If
            If CheckBox3.Checked = True Then
                repTest = repTest + "C "
            End If
            If CheckBox4.Checked = True Then
                repTest = repTest + "D"
            End If
            If TextBox1.Text.Length = 0 Then
                MsgBox("veuillez sélectionner une image")
            ElseIf repTest.Length = 0 Then
                MsgBox("veuillez cocher les réponses que vous jugez justes pour le test")
            ElseIf TextBox2.Text.Length = 0 Then
                MsgBox("veuillez sélectionner une audio")
            Else 'les tests ne sont pas terminés
     
                nomImage = calculerNom()
                'OpenFileDialog1.FileName = nomImage
                nomAudio = calculerNom()
                'declarattion des 2 path pour le transfert de l`image
                Dim imageToCopy As String
                Dim newImage As String
                'declaration des 2 path pour le transfert de l`audio
                Dim audioToCopy As String
                Dim newAudio As String
                'initialisation des 2 path pour le transfert de l`image
                imageToCopy = TextBox1.Text
                nomImage = nomImage + extensionImageFile.ToString
     
                nomImage = LTrim(nomImage)
                nomImage = RTrim(nomImage)
                newImage = "D:\code_de_la_route\images\" + nomImage.ToString
                'initialisation des 2 path pour le transfert de l'audio
                audioToCopy = TextBox2.Text
                nomAudio = nomAudio + extensionAudioFile.ToString
                nomAudio = Trim(nomAudio)
                newAudio = "D:\code_de_la_route\audios\" + nomAudio.ToString
     
                Try
                    'enregistrer l`image dans le dossier correspondant
                    System.IO.File.Copy(imageToCopy, newImage)
                    'enregistrer l`audio dans le dossier correspondant
                    System.IO.File.Copy(audioToCopy, newAudio)
                    'preparer les requetes
                    Dim sqlQRY1 As String = "INSERT INTO AUDIO  Values ('" + nomAudio + "')"
                    Dim sqlQRY2 As String = "INSERT INTO [IMAGE] Values ('" + nomImage + "')"
                    Dim sqlQRY3 As String = "INSERT INTO [TEST](Int_Exa,Rep_Correctes,Nom_Aud,Nom_Img)  Values ('" + nomExamen + "','" + repTest + "','" + nomAudio + "','" + nomImage + "')"
                    'ouvrir la connexion
                    myConnexion.Open()
                    'MsgBox(nomImage)
                    'creation des commandes
                    Dim cmd1 As OleDbCommand = New OleDbCommand(sqlQRY1, myConnexion)
                    Dim cmd2 As OleDbCommand = New OleDbCommand(sqlQRY2, myConnexion)
                    Dim cmd3 As OleDbCommand = New OleDbCommand(sqlQRY3, myConnexion)
                    'exécution des requetes
                    cmd1.ExecuteNonQuery()
                    cmd2.ExecuteNonQuery()
                    cmd3.ExecuteNonQuery()
     
                    MsgBox("Test ajouté avec succés.", MsgBoxStyle.Information)
                    OpenFileDialog1.FileName = Nothing
                    'OpenFileDialog2.FileName = Nothing
                    extensionImageFile = Nothing
                    'fermer la connexion
                    myConnexion.Close()
                    TextBox1.Text = Nothing
                    TextBox2.Text = Nothing
                    CheckBox1.Checked = False
                    CheckBox2.Checked = False
                    CheckBox3.Checked = False
                    CheckBox4.Checked = False
                    PictureBox1.Image = Nothing
                    PictureBox1.BackgroundImage = Nothing
                    nbTest = nbTest - 1
                Catch ex As Exception
                    MsgBox("Operation suspendue, merci de cliquer de nouveau sur le bouton 'Enregistrer le Test' !!")
                    MsgBox(nomImage)
                    MsgBox(nomImage.Length)
                Finally
                    myConnexion.Close()
                End Try
                'tester s'il reste encore des tests a configurer
                If nbTest > 0 Then
                    Label7.Text = nbTest.ToString + " tests restants"
                Else
                    'si les tests sont terminés
                    'on vide les 2 champs de texte dans MenuForm 
                    MenuForm.TextBox2.Text = ""
                    MenuForm.TextBox3.Text = ""
                    'et on quitte
                    Me.Hide()
     
                    MenuForm.Show()
                    MenuForm.TopMost = True
                End If
            End If
     
        End Sub
    mon souci c`est que parfois lors du clic sur le bouton "Enregistrer le test" j`obtenais l`erreur :
    illegal characters in path
    j`ai doute que ca provient de la ligne suivante dans la sub derriere le bouton "Enregistrer le test"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.IO.File.Copy(imageToCopy, newImage)
    je suis encore incapable de résoudre mon probleme et je compte sur vos compétences merci

  11. #11
    Membre chevronné Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Par défaut
    On peut pas vraiment faire grand chose, essaye de cibler la cause du problème, avec des points d'arrêt par exemple, ou regarde l'état des variables lorsque ça plante.

  12. #12
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Deux choses :

    1/ Pour savoir d'ou vient l'erreur... Soit tu exécute ton code au pas a pas (en mettant un point d’arrêt au début de la dernière fonction et en cliquant sur F10 pour avancer ligne par ligne),

    Soit dans le menu "Déboguer" -> "Exception", tu coches les trois premières checkboxs.

    Car si on a pas la ligne, c'est quasiment impossible de savoir d'ou viens l'erreur.

    2/ Ta méthode pour récupérer juste le nom du fichier fonctionne, mais il y a plus simple et plus fiable:

    En utilisant la méthode System.IO.File.Path, tu peux obtenir, l'extension, le nom du fichier ou encore le nom absolu.

Discussions similaires

  1. Parser Error Message: Illegal characters in path.
    Par maeva87 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 16/03/2015, 15h55
  2. URISyntaxException: Illegal character in path
    Par daydream123 dans le forum Général Java
    Réponses: 4
    Dernier message: 04/02/2015, 14h42
  3. Illegal character in path at index 'x'
    Par HozakaN dans le forum JPA
    Réponses: 4
    Dernier message: 06/07/2009, 10h18
  4. Réponses: 5
    Dernier message: 07/08/2008, 16h38

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