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 :

Upload dossier compresser sur server ftp [Débutant]


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Téléconseiller
    Inscrit en
    Juin 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Téléconseiller
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2010
    Messages : 119
    Par défaut Upload dossier compresser sur server ftp
    Bonjour à vous,
    bon je tourne en rond je pense utiliser la bonne méthode mais je ne situe pas mon erreur car en essayant d'upload un dossier situé dans

    ex :
    c:\users\...\dossier.rar

    j’obtiens l'erreur suivante :

    "l'accès au chemin d'accès 'c:\users\...\dossier est refusé.

    voici
    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
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles BTEnvoieDoss.Click
            Try
     
                If CBIdentifiant.Text = "" Then
                    MsgBox("Le champ identifiant ne doit pas etre vide",
                    MsgBoxStyle.Exclamation, "Partage de fichier 2014 by Z!T¤ùN£ @NT!C!P-W!N-32")
                ElseIf TxtPass.Text = "" Then
                    MsgBox("Le champ mot de passe ne doit pas etre vide",
                    MsgBoxStyle.Exclamation, "Partage de fichier 2014 by Z!T¤ùN£ @NT!C!P-W!N-32")
                ElseIf CBServeur.Text = "" Then
                    MsgBox("Le champ serveur et nom de dossier ne doit pas etre vide",
                    MsgBoxStyle.Exclamation, "Partage de fichier 2014 by Z!T¤ùN£ @NT!C!P-W!N-32")
                ElseIf Cbdossier.Text = "" Then
                    MsgBox("Le champ nom du fichier ne doit pas etre vide",
                    MsgBoxStyle.Exclamation, "Partage de fichier 2014 by Z!T¤ùN£ @NT!C!P-W!N-32")
                Else
                    Dim lvitem As ListViewItem
                    PB.Minimum = 1
                    Dim dataFile As Byte()
                    Dim o, k, g As Single
                    Dim Filestream As FileStream = File.OpenRead(Cbdossier.Text)
                    ReDim dataFile(Filestream.Length - 1)
                    Filestream.Read(dataFile, 0, dataFile.Length)
                    PB.Maximum = dataFile.Length
                    PB.Step = 1
                    Filestream.Close()
                    o = FormatNumber((dataFile.Length) / (1024), 1)
                    k = FormatNumber((dataFile.Length) / (1048576), 1)
                    g = FormatNumber((dataFile.Length) / (1073741824), 1)
                    For x = 0 To dataFile.Length
                        PB.PerformStep()
                    Next
                    Dim request As System.Net.FtpWebRequest =
                    DirectCast(System.Net.WebRequest.Create("ftp://" + CBServeur.Text + "/" + TempDoss.Text + ".rar"), 
                    System.Net.FtpWebRequest)
                    request.Credentials = New System.Net.NetworkCredential(CBIdentifiant.Text,
                    TxtPass.Text)
                    request.Method = System.Net.WebRequestMethods.Ftp.UploadFile
                    Dim filesend() As Byte = System.IO.File.ReadAllBytes(Cbdossier.Text)
                    Dim str As System.IO.Stream = request.GetRequestStream()
                    str.Write(filesend, 0, filesend.Length)
                    str.Close()
                    str.Dispose()
                    lvitem = Me.Lst1.Items.Add("Copie de dossier : " + TempDoss.Text)
                    lvitem.SubItems.Add("OK")
                    If dataFile.Length < 1024 Then
                        lvitem.SubItems.Add(dataFile.Length.ToString + " Octets")
                    ElseIf dataFile.Length < 1048576 Then
                        lvitem.SubItems.Add(dataFile.Length.ToString + " Ko")
                    ElseIf dataFile.Length < 1073741824 Then
                        lvitem.SubItems.Add(dataFile.Length.ToString + " Mo")
                    End If
                    CBIdentifiant.Items.Add(CBIdentifiant.Text)
                    Cbdossier.Items.Add(Cbdossier.Text)
                    CBServeur.Items.Add(CBServeur.Text)
                    For y = 0 To CBIdentifiant.Items.Count - 1
                        My.Settings.identifiant.Add(CBIdentifiant.Items(y).ToString)
                    Next
                    For y = 0 To CBServeur.Items.Count - 1
                        My.Settings.serveur.Add(CBServeur.Items(y).ToString)
                    Next
                    For y = 0 To Cbdossier.Items.Count - 1
                        My.Settings.Dossier.Add(Cbdossier.Items(y).ToString)
                    Next
                    My.Settings.Save()
                    MsgBox("dossier envoyé!")
                    PB.Value = PB.Minimum
                End If
            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Critical)
                Dim lvitem As ListViewItem
                lvitem = Me.Lst1.Items.Add("Copie de dossier : " + TempDoss.Text)
                lvitem.SubItems.Add("ECHEC")
                lvitem.SubItems.Add(ex.Message)
                PB.Value = PB.Minimum
            End Try
        End Sub
    j'ai bien évidement les droit nécessaire et de plus si je test sur un fichier cela fonctionne il es upload

    si vous avez une lanterne pour moi je suis preneur

  2. #2
    Membre confirmé
    Homme Profil pro
    Téléconseiller
    Inscrit en
    Juin 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Téléconseiller
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2010
    Messages : 119
    Par défaut erreur trouver mais non résolue
    bon voilà déjà un bon pas en avant après une nuit blanche

    j'ai trouver l'erreur en voulant gérer ma progressBar du dossier à upload.

    ligne 21 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Filestream As FileStream = File.OpenRead(Cbdossier.Text)
    le fait que j’obtienne l'erreur :

    "l'accès au chemin d'accès 'c:\users\...\dossier' est refusé.

    est du fait que j'essaie d'après ce que je comprend, d'ouvrir (comme si j'ouvrai un fichier .txt , .jpg , ...) sauf que là c'est un dossier donc je ne peux pas l'ouvrir mais l'explorer ( d'où le fait que je n'arrive pas à récupérer son poids.

    si je modifie cette même ligne 21 en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Filestream As FileStream = File.OpenRead((Cbdossier.Text) + ".rar")
    j'obtiens maintenant l'erreur :

    Impossible de trouver le fichier 'c:\users\...\dossier.rar'.

    logique me dira-t-on il n'a pas encore été créer mais j'ai situer l' erreur

    cependant comment maintenant adapter cette ligne 21 pour résoudre le problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Filestream As FileStream = File.OpenRead(Cbdossier.Text)

  3. #3
    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
    Bah il manque une étape dans ton truc : il faudrait déjà que tu génères le fichier .rar à envoyer, c'est pas "automagique"...

    Je ne connais pas de lib .NET qui génère du RAR, mais il y a DotNetZip ou SharpZipLib qui peuvent faire du ZIP. Si tu utilises .NET 4.5, il y a même une classe ZipArchive dans le framework.

  4. #4
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonjour zitoune31,

    Regardes ces sujets pourraient t'intéresser :

    http://www.developpez.net/forums/d13...p/#post7595808

    et :

    http://www.developpez.net/forums/d14...r/#post7615839

    Bonne lecture A+

  5. #5
    Membre confirmé
    Homme Profil pro
    Téléconseiller
    Inscrit en
    Juin 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Téléconseiller
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2010
    Messages : 119
    Par défaut
    Citation Envoyé par wallace1 Voir le message
    Bonjour zitoune31,

    Regardes ces sujets pourraient t'intéresser :

    http://www.developpez.net/forums/d13...p/#post7595808

    et :

    http://www.developpez.net/forums/d14...r/#post7615839

    Bonne lecture A+
    Merci je regarde tout ça avec le peu de force qui me reste car depuis hier soir non stop je cherche .... je crois m'endormir sur pc je go télécharger ton projet voir de plus prêt

  6. #6
    Membre confirmé
    Homme Profil pro
    Téléconseiller
    Inscrit en
    Juin 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Téléconseiller
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2010
    Messages : 119
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Bah il manque une étape dans ton truc : il faudrait déjà que tu génères le fichier .rar à envoyer, c'est pas "automagique"...

    Je ne connais pas de lib .NET qui génère du RAR, mais il y a DotNetZip ou SharpZipLib qui peuvent faire du ZIP. Si tu utilises .NET 4.5, il y a même une classe ZipArchive dans le framework.
    Merci de la réponse, j'ai fait le nécessaire pour générer le ".rar" de cette manière qui fonctionne
    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
    Private Sub BTCompression_Click(sender As System.Object, e As System.EventArgs) Handles BTCompression.Click
            Try
     
                If Cbdossier.Text = "" Then
                    MsgBox("Merci de sélectionne le dossier à compresser",
                        MsgBoxStyle.Exclamation, "Partage de fichier 2014 by Z!T¤ùN£ @NT!C!P-W!N-32")
                ElseIf Not Cbdossier.Text = TempDoss.Text Then
                    MsgBox("Seul la conpression de dossier est autorisé",
                        MsgBoxStyle.Exclamation, "Partage de fichier 2014 by Z!T¤ùN£ @NT!C!P-W!N-32")
                Else
     
                    Dim fileNameCompress As String = OpenDoss.SelectedPath
                    Dim resultats As String
     
                    resultats = Path.GetFileName(fileNameCompress)
                    TBExtetionCompress.Text = (resultats) + ".rar"
     
                    Main()
     
                    Dim FSys
                    FSys = CreateObject("Scripting.FileSystemObject")
                    Dim Shell, com, Result, Rar
     
                    Shell = CreateObject("WScript.Shell")
     
                    com = """C:\Program Files\WinRAR\Rar.exe"" a -hpMotDePass -r """ & Cbdossier.Text & """ """ & Cbdossier.Text & """"
                    Shell.run(com, 0, True)
     
                    Dim fileName As String = OpenDoss.SelectedPath
                    Dim resulta As String
     
                    resulta = Path.GetFileName(fileName)
                    TempDoss.Text = (resulta)
     
                    'indique fin Compression
                    Result = Shell.Run(com, 0, True)
                    Rar = (resulta)
                    TempDoss.Text = (Rar)
                    Form4.Close()
                    MsgBox((Cbdossier.Text) + " à été compresser, vous pouvez à présent l envoyer",
                            MsgBoxStyle.Information, "Partage de fichier 2014 by Z!T¤ùN£ @NT!C!P-W!N-32")
                End If
     
            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Critical, "Partage de fichier 2014 by Z!T¤ùN£ @NT!C!P-W!N-32")
            End Try
        End Sub
    j'ai également réussis à récupérer la tailles en ko du fichiers .rar via un modules mais toujours bloquer pour la progressbar et l'upload

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

Discussions similaires

  1. ecrire dans fichier déjà present sur server ftp
    Par zitoune31 dans le forum VB.NET
    Réponses: 2
    Dernier message: 30/03/2011, 23h19
  2. [FTP] Comment tester si un dossier existe sur un ftp ?
    Par speed034 dans le forum Langage
    Réponses: 5
    Dernier message: 04/06/2008, 14h40
  3. Uploader un fichier sur un ftp .
    Par gnia?? dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 09/12/2006, 14h13
  4. [VB.NET] Transfert sur server FTP
    Par HULK dans le forum Windows Forms
    Réponses: 7
    Dernier message: 25/04/2006, 16h04
  5. Upload de fichiers sur un ftp
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 20/06/2004, 11h55

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