Application web upload sur serveur ftp distant

zelmir Messages postés 27 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 6 juillet 2014 - Modifié par jordane45 le 19/06/2014 à 12:31
zelmir Messages postés 27 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 6 juillet 2014 - 6 juil. 2014 à 10:42
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

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
19 juin 2014 à 12:29
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...
0
zelmir Messages postés 27 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 6 juillet 2014
19 juin 2014 à 13:11
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

--
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
19 juin 2014 à 13:52
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

0
zelmir Messages postés 27 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 6 juillet 2014
19 juin 2014 à 14:48
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")
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
19 juin 2014 à 14:51
0
zelmir Messages postés 27 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 6 juillet 2014
19 juin 2014 à 18:56
merci pour le lien, je teste ça demain matin.

je vous souhaite une bonne soirée
0
zelmir Messages postés 27 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 6 juillet 2014
20 juin 2014 à 11:46
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.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
20 juin 2014 à 11:52
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.
0
zelmir Messages postés 27 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 6 juillet 2014
20 juin 2014 à 12:15
avec ou sans le port ça ne change rien.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
20 juin 2014 à 13:47
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...
0
zelmir Messages postés 27 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 6 juillet 2014
20 juin 2014 à 14:56
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.
0
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
5 juil. 2014 à 18:23
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...
0
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
5 juil. 2014 à 18:25
Petite erreur de saisie,

il faut écrire

p = Process.Start();


bye...
0
zelmir Messages postés 27 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 6 juillet 2014
6 juil. 2014 à 10:42
Merci pour t'as réponse, je vais essayé prochainement et je vous tien au courant.

encore merci
--
0
Rejoignez-nous