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

Windows Forms Discussion :

[VB.NET]upload de fichier vers un serveur


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 54
    Par défaut [VB.NET]upload de fichier vers un serveur
    j'essaye d'uploader un fichier vers un serveur. J'ai lu un article sur votre site qui traite le sujet mais j'ai une execption qui est généré et je ne sais pas pkoi.

    je vous poste le 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
    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
     ' Upload un fichier sur un serveur FTP
        Private Sub uploadFichier(ByVal cheminSource As String, ByVal urlDestination As String, ByVal identifiant As String, ByVal motDePasse As String)
     
            'Dim monAuthentificationFtp As New NetworkCredential(identifiant, motDePasse)
            ' cheminSource : Uri du fichier sur le disque dur
            ' urlDestination : Uri du fichier de destination sur le serveur FTP
            ' identifiant : login du compte FTP utilisé
            ' motDePasse : mot de passe du compte FTP utilisé
     
            Dim monUriFichierLocal As New System.Uri(cheminSource)
            Dim monUriFichierDistant As New System.Uri(urlDestination)
            'MsgBox(monUriFichierLocal)
            ' Vérification de la validité de l'Uri de l'emplacement du fichier source
            If Not (monUriFichierLocal.Scheme = Uri.UriSchemeFile) Then
                MessageBox.Show("Le chemin du fichier local n'est pas valide !", "Une erreur est survenue", MessageBoxButtons.OK, MessageBoxIcon.Warning)
                Exit Sub
            End If
            ' Vérification de la validité de l'Uri de l'emplacement du fichier de destination
            If Not (monUriFichierDistant.Scheme = Uri.UriSchemeFtp) Then
                MessageBox.Show("Le chemin du fichier sur le serveur FTP n'est pas valide !", "Une erreur est surevnue", MessageBoxButtons.OK, MessageBoxIcon.Warning)
                Exit Sub
            End If
            ' Création des 2 flux et du reader nécessaire pour l'envoi du fichier
            Dim monRequestStream As Stream = Nothing
            Dim fileStream As FileStream = Nothing
            Dim uploadResponse As FtpWebResponse = Nothing
            Try
                ' Requête d'upload d'un fichier vers le serveur
                Dim uploadRequest As FtpWebRequest = CType(WebRequest.Create(urlDestination), FtpWebRequest)
                ' Vérification de la présence des identifiants d'un compte, si aucun alors
                ' la connexion se fait en mode anonyme
                If Not identifiant.Length = 0 Then
                    Dim monCompte As New NetworkCredential(identifiant, motDePasse)
                    uploadRequest.Credentials = monCompte
                End If
                uploadRequest.Method = WebRequestMethods.Ftp.UploadFile
                ' Désactivation du proxy http incompatible avec cette requête
                uploadRequest.Proxy = Nothing
     
                monRequestStream = uploadRequest.GetRequestStream
                fileStream = File.Open(cheminSource, FileMode.Open)
                ' Tableau d'octets qui va contenir les données issues du fichier
                Dim buffer(1024) As Byte
                Dim bytesRead As Integer
                ' Lecture des données et envoi de celle-ci dans le flux
                While True
                    bytesRead = fileStream.Read(buffer, 0, buffer.Length)
                    If bytesRead = 0 Then
                        Exit While
                    End If
                    ' Ecriture des données dans le flux d'upload vers le serveur FTP
                    monRequestStream.Write(buffer, 0, bytesRead)
                End While
                'L'objet requestStream dot être fermé avant de récupérer la réponse
                monRequestStream.Close()
                uploadResponse = CType(uploadRequest.GetResponse(), FtpWebResponse)
                MessageBox.Show("Upload terminé.")
                ' Gestion des exceptions
            Catch ex As UriFormatException
                MessageBox.Show(ex.Message)
            Catch ex As WebException
                MessageBox.Show(ex.Message)
            Catch ex As IOException
                MessageBox.Show(ex.Message)
            Finally
                ' Fermeture des différents flux utilisés
                'uploadResponse.Close()
                'fileStream.Close()
                'monRequestStream.Close()
     
            End Try
        End Sub
    L'execption est soulevé ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monRequestStream = uploadRequest.GetRequestStream
    L'execption dit : Le serveur erreur 550 (soit fichier pas trouve soit pas d'accès). L'url utilisé est sous ce format ftp://user@ftp.domaine.com/dossier

    je suis vraiment nouveau avec vb.dot
    merci de m'aider

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 54
    Par défaut
    j'ai trouve mon probleme

    merci a tous

  3. #3
    Bz
    Bz est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 176
    Par défaut
    damn, meme probleme :/
    ce serait bien de mettre la solution au lieu de dire que t'as résolu ton soucis

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Problème de droits d'accès, ou alors le répertoire cible n'existe pas

  5. #5
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    Voici la description du code erreur 550
    Error 550 permission denied
    The 550 error is a message from the server stating that the account you have currently logged in as does not have permission to perform the action you are attempting. You may be trying to upload to the wrong directory or trying to delete a file.

    En clair, tu n'as pas les droits pour effectuer l'action voulue.

  6. #6
    Membre éclairé
    Homme Profil pro
    apprenti
    Inscrit en
    Décembre 2011
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : apprenti
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 212
    Par défaut
    en utilisant votre code j'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "L'URI demandée n'est pas valide pour cette commande FTP."
    avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monRequestStream = uploadRequest.GetRequestStream
    Pouvez vous m'aider ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Upload de fichier vers un serveur Web 4D
    Par senseixav dans le forum 4D
    Réponses: 1
    Dernier message: 19/01/2011, 10h06
  2. uploader un fichier vers un serveurs ftp à partir du navgateur client
    Par LEYMANN dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 06/01/2010, 16h55
  3. comment uploader un fichier vers le serveur ftp ?
    Par octal2007 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 19/01/2008, 21h39
  4. Upload un fichier vers un serveur FTP
    Par midoENSI dans le forum Struts 1
    Réponses: 1
    Dernier message: 25/05/2007, 16h07
  5. uploader un fichier vers un serveur http
    Par Zorgloub dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 26/04/2006, 11h41

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