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

ASP.NET Discussion :

Problème d'envoi de fichiers par FTP


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut Problème d'envoi de fichiers par FTP
    Bonsoir, Alors là j'ai un problème sérieux.

    J'ai des fonctions qui, selon moi, récupère un fichier sur mon ordinateur et l'envoie par FTP sur un server. (Notons que je developpe en asp.net et vb.net)
    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
       <script language= "vb" runat= "server" > 
     
       Public Shared Function FtpUpload(uri As Uri, credentials As NetworkCredential, fileInfo As FileInfo) As Boolean
     
    	Dim request As FtpWebRequest = DirectCast(FtpWebRequest.Create(Path.Combine(uri.AbsoluteUri, fileInfo.Name)), FtpWebRequest)
    	request.Method = WebRequestMethods.Ftp.UploadFile
    	request.Credentials = credentials
    	request.UseBinary = True
    	request.KeepAlive = False
    	request.UsePassive = True
     
    	Dim buffer As Byte() = New Byte(2047) {}
     
    	Using stream As Stream = request.GetRequestStream()
    		Using fs As FileStream = File.OpenRead(fileInfo.FullName)
    			Dim block As Integer
    			While (block = fs.Read(buffer, 0, buffer.Length)) > 0
    				stream.Write(buffer, 0, block)
    			End While
    		End Using
    	End Using
    	Return True
    End Function
     
    Public Sub Page_load(ByVal sender As Object, ByVal e As System.EventArgs)
     
    	FtpUpload(New Uri("ftp://*.*.*.*"), New NetworkCredential("toto", "tata"), New FileInfo("C:\Inetpub\wwwroot\Sonny.txt"))
    end sub
    Le problème est que le fichier est vide à l'arrivée sur le server.
    Celui-ci part bien mais je sais pas pourquoi il est vide.
    Après des tests je me suis rendu compte que c'était exactement le fichier en question qu'il envoyait (ou qu'il copiait je sais pas...)

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Avec cette fonction tu NE PEUX PAS envoyer un fichier du client (interenaute) vers le serveur.

    Le code qui figure entre des tag server n'est JAMAIS exécuté par un navigateur web.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script language= "vb" runat= "server" >
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    Merci Immobilis, mais alors t'aurais pas une solution pour moi?
    J'ai tenté la solution FILEZILLA mais on m'a demandé que cela se fasse dynamiquement depuis l'application!

    Dois-je enlever les quotes "server"?

  4. #4
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par SonnyFab Voir le message
    J'ai tenté la solution FILEZILLA mais on m'a demandé que cela se fasse dynamiquement depuis l'application!
    On avance...
    Je m'en doutais un peu, mais vu le peu de détails que tu donnes... De plus, je préférais que tu le comprennes toi-même après que les personnes qui te demandent de faire ce travail te l'ai exprimé aussi.

    Une seule solution: le composant FileUpload. Je crois que tu as tous les liens nécessaires pour faire des recherches. Non?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    J'ai beaucoup lu sur la rélation client/server.
    Voila, l'application est hébergée sur le server1 (encore merci ), celle-ci se connecte à une base de donnée hébergée sur un autre server2 et crée un fichier dans son disque dur (server1) à partir des informations receuillies dans la base de donnée.

    La partie de mon code prend se fichier (server1) et l'envoie vers un autre server3 par FTP.

    Le client ne voit pas ce qui se passe, il s'est contenté de cliquer sur un bouton. Pour moi tous se passe sur le server, normalement sa derait passer!!? De plus, je retrouve le fichier envoié sur le server3, mais celui-ci est vide !

    Merci de m'éclaircir... (Grace à toi j'ai fais des progrès coté sever )

  6. #6
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par SonnyFab Voir le message
    J'ai beaucoup lu sur la rélation client/server.
    Voila, l'application est hébergée sur le server1 (encore merci ), celle-ci se connecte à une base de donnée hébergée sur un autre server2 et crée un fichier dans son disc dur (server1).

    La parite de mon code prend se fichier (server1) et l'envoie vers un autre server3 par FTP.
    Ce serait bien de commencer par là. Donne des détails sur ce qui se passe et le fonctionnement de ton application. Un problème de Maths ne commence pas par la question. Il faut exposer le problème.

    Citation Envoyé par SonnyFab Voir le message
    Le client ne voit pas ce qui se passe, il s'est contenté de cliquer sur un bouton.
    Est-ce que cette première étape fonctionne?
    "Winter is coming" (ma nouvelle page d'accueil)

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

Discussions similaires

  1. [JSch] probleme d'envoi de fichier par ftp
    Par jerem721 dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 08/05/2009, 12h39
  2. Envoi de fichier par FTP mais nommé différent
    Par whorian dans le forum VB.NET
    Réponses: 2
    Dernier message: 08/03/2009, 17h04
  3. Problème de téléchargement de fichier par FTP
    Par Xalex dans le forum Web & réseau
    Réponses: 3
    Dernier message: 01/09/2008, 17h01
  4. Problème de copie de fichier par FTP
    Par tpdm dans le forum AS/400
    Réponses: 3
    Dernier message: 31/07/2008, 15h37
  5. Probleme d'envoi de fichiers par FTP
    Par TheReturnOfMuton dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 10/06/2008, 11h03

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