Application web upload sur serveur ftp distant

Signaler
Messages postés
27
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
6 juillet 2014
-
zelmir
Messages postés
27
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
6 juillet 2014
-
Bonjour,

j'ai une application web qui dois upload un fichier sur un serveur distant, le problème est que je n'arrive pas a me connecter au serveur distant.

Le serveur distant est un serveur ftp avec le port 21 ouvert pourtant à chaque tentative ça me dis qu'il y a un problème de port.

Function FonctionUpload()

        'Upload le fichier sur le serveur ftp distant
        Dim bitFile() As Byte
        Try
            bitFile = System.IO.File.ReadAllBytes("h:/root/home/zelmir-001/www/monsite/resources/fichierSource.TXT")
        Catch ex As Exception
            TXT_Erreur.ForeColor = Drawing.Color.OrangeRed
            TXT_Erreur.Text = "Ne trouve pas le fichier"
            Return TXT_Erreur.Text
        End Try


        Dim clsRequest As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create("ftp://Xxxx:Yyyyy@ftp.le_site.com:21/Resources/Sauvegarde/fichierSource.TXT"), System.Net.FtpWebRequest)
     
        clsRequest.UsePassive = True
        clsRequest.UseBinary = False
        clsRequest.EnableSsl = False

        clsRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile 'indique que je veux uploader le fichier


        '' upload file...
       
        Dim clsStream As System.IO.Stream = clsRequest.GetRequestStream()
        clsStream.Write(bitFile, 0, bitFile.Length)
        clsStream.Close()
        clsStream.Dispose()

        TXT_Erreur.ForeColor = Drawing.Color.Blue
        TXT_Erreur.Text = "Upload Effectué"
        Return TXT_Erreur.Text

    End Function


Si quelqu'un peut me guider pour ce petit problème d'upload lui en serait très reconnaissant.

:)

9 réponses

Messages postés
28055
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 avril 2020
324
Bonjour,

Es-tu sûr des identifiants que tu passes lors de la connexion FTP ?

Arrives tu à te connecter en FTP au serveur en passant directement par ton navigateur ou un logiciel comme FileZila ?


PS: j'édite ton message pour retirer les "identifiants" présents dans ton message...
Messages postés
27
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
6 juillet 2014

slt et merci de te pencher sur mon souci, oui je peu me connecter sur mon serveur ftp depuis le navigateur ou depuis un logiciel comme filezila et les identifiants sont bien correct

--
Messages postés
28055
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 avril 2020
324
Tu as essayé de passer les identifiants via credential ?

 Dim clsRequest As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create("ftp.le_site.com:21/Resources/Sauvegarde/fichierSource.TXT"), System.Net.FtpWebRequest)
            clsRequest .Credentials = New System.Net.NetworkCredential("xxxxxx", "xxxxxx")
            clsRequest .Method = System.Net.WebRequestMethods.Ftp.UploadFile

Messages postés
27
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
6 juillet 2014

Alors quand j'utilise les identifiants via credential j'ai un message d'erreur (Impossible de se connecter au serveur distant) c'est même plus un problème de port quand je fais de cette façons.

 Dim clsRequest As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create("ftp://ftp.patati-patata.com:21/Resources/Sauvegarde/fichierSource.TXT"), System.Net.FtpWebRequest)
        clsRequest.Credentials = New System.Net.NetworkCredential("xxx", "xxx")
zelmir
Messages postés
27
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
6 juillet 2014

merci pour le lien, je teste ça demain matin.

je vous souhaite une bonne soirée
zelmir
Messages postés
27
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
6 juillet 2014

je teste le code mais j'ai toujours le même problème Impossible de se connecter au serveur distant.

je vais tester avec d'autre serveur ftp des fois que ça marcherais.

merci encore pour votre aide.
jordane45
Messages postés
28055
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 avril 2020
324
Dans la "chaine de connexion" ... tu n'as pas mis le port j'espère.
J'ai l'impression que c'est ça qui bloque.
zelmir
Messages postés
27
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
6 juillet 2014

avec ou sans le port ça ne change rien.
jordane45
Messages postés
28055
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 avril 2020
324
Les flux FTP sont ouverts sur ton serveur ?
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
18
Salut,

Essayes avec le NetworkCredential mais sans mettre le protocole ftp dans l'url, ni le port, juste : serveur/directories/fichier

WebRequest.Create ( "serveurFTP/Dir1/Dir2/fic.TXT" )


bye...
Messages postés
27
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
6 juillet 2014

je suis obligé de spécifier le protocole si non j'ai une erreur dans l'url.

mon serveur ftp est chez magix-online.com peut être que ça viens de chez eux quelque chose qui empêche le bon fonctionnement.
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
18
Salut,

tu peux toujours passer par la console via un ftp -s

const string SERVER = "ftp.le_site.com";
const string PATH = @"C:\Users\userName\Documents\";
const string FILE = "fichierSource.txt";
const string CMD_FILE = "mesCommandes.txt";

Process p = null;
try
{
    Process.Start("ftp", "-s:\"" + PATH + CMD_FILE + "\" " + SERVER);                
    p.WaitForExit();
}
catch (Exception exc)
{
    Console.WriteLine("ERREUR : " + exc.Message);
}


// tu mettra dans mesCommandes.txt
loginFtp
passFtp
cd Resources/Sauvegarde
send "C:\Users\userName\Documents\fichierSource.txt"
bye


bye...
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
18
Petite erreur de saisie,

il faut écrire

p = Process.Start();


bye...
Messages postés
27
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
6 juillet 2014

Merci pour t'as réponse, je vais essayé prochainement et je vous tien au courant.

encore merci
--