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

Delphi Discussion :

Upload FTP grâce au composant ftpAsy d'ICS


Sujet :

Delphi

  1. #1
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut Upload FTP grâce au composant ftpAsy d'ICS
    Bonsoir,

    Il y a un moment, Sub0 nous a offert un article de très bonne qualité sur le fonctionnement du composant HTTPCli d'ICS. J'ai repris depuis peu la lecture de son article car actuellement de développe un petit programme de mise à jour automatique (pour simplifier).

    Ce que je cherche à faire, c'est utiliser un composant d'ICS (je pense que le plus adapté c'est ftpAsy) afin de permettre l'upload de de fichier (environ 10/15 Mo). Le faire par la méthode POST, je ne pense pas que cela fonctionnera d'où l'utilisation de ce composant.

    Aussi, je débute dans ce qu'on peut appelé la programmation réseau

    Quelqu'un aurait-il un petit tuto ou un exemple sur l'utilisation du composant?

    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Salut!

    Pour ton info, je suis justement en train de travailler sur DELPHP2, un vrai petit bijou !!
    • Requête HTTP (Get, Post, Head) en multithreading
    • Gestion complètes des erreurs
    • Intégration d'un espace membre sécurisé
    • + formulaire d'inscription avec possibilité d'activation par mail
    • Upload & download de fichiers en multithread
    • Pas de limite de taille de fichier (à vous de la spécifier dans le script)
    • Dialogue de téléchargement avec affichage de la progression, temps restant
    • Reprise automatique d'un téléchargement incomplet
    • Démo d'un explorateur de fichier du serveur pour faire du FTPWeb

    • Si j'ai encore un peu de temps libre, j'ajoute l'envoi de mail au format EML (outlook) avec possibilité d'envoi différé / envoi groupé.

    Tout cela est réalisé uniquement avec THttpCli d'ICS et des scripts PHP sécurisés. L'avantage par rapport au FTP, c'est que l'on est pas obligé de fournir le login d'accès du serveur. De plus, le nombre de connexion simultannée est plus important en HTTP qu'en FTP... Enfin, il est facile de passer tout ce système en HTTPS.

    Ce projet me prend beaucoups de temps car je fais énormément de tests pour être sûr d'avoir un code aussi propre que possible. L'esthétique est également très soignée. à+
    De retour parmis vous après 10 ans!!

  3. #3
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut Sub0,

    Ce que tu nous proposes est très ... comment dire .... alléchant

    Ba je voulais passer par le FTP pour déposer mon fichier,afin de ne pas être limité en upload au niveau de la taille (à moins que je me trompe ... ) avec les POST.
    De plus pour le moment je veux rester dans la simplicité (pas de script PHP etc etc).

    C'est dommage qu'il n'y pas pas de "tuto" et d'aide en francais sur les composant développé. Ya l'application ftpAsy mais j'arrive pas a uploader mon fichier. Je vois pas trop ce qui veut dire par HostDir, HostFile et LocalDir
    J'avoue, j'ai pas trop eu le temps de regarder ca de plus prêt ...

    La connexion ca passe, par contre j'ai une ERROR 550 qui se produit au niveau du fichier.
    J'ai cherché un peu et apparemment ca provient de certains droits mais la encore une fois j'ai pas encore trop le temps de me plonger dans le code.
    mais si jamais tu as développer un petit truc avec ce compo et qui soit expliqué je suis prenant.

    Merci bien pour ta réponse

  4. #4
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Non, désolé. Je t'avais déjà donné une source qui complémente DELPHP pour faire de l'upload HTTP avec THttpCli, cela ne te convient pas ?
    De retour parmis vous après 10 ans!!

  5. #5
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    C'est pas que ca ne me convient pas, c'est juste que je voulais éviter de passer par le PHP et surtout ne pas être limité en taille pour l'envoie. Ya aussi le fait que j'aime bien utiliser de nouveau composant!

    Je te remercie tout de même et dès que j'ai du temps, ce qui va bientot être le cas, je me penche sur le composant et pourquoi pas faire un petit tuto vite faite sur l'upload de base.

  6. #6
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Ok. Effectivement, tu n'as pas besoin de script PHP pour faire du FTP. Attention à une chose tout de même, surtout si tu comptes distribuer l'exe : Si ton programme possède dans ces données le login d'accès de ton serveur, il pourrait être récupéré sur le réseau...

    Tiens, voici une démo d'un client FTP avec ce compo :
    http://www.overbyte.be/arch/simpftp.zip

    Bon dev!
    De retour parmis vous après 10 ans!!

  7. #7
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Bon, je viens de faire de rentrer! Je suis en même forme et donc je me suis mis a étudier le composant FTPAsy.

    J'ai eu l'idée d'ouvrir le fichier FtpCli.pas et miracle, tout est détaillé
    (j'aurai mieux fait de chercher encore un peu ... )

    Enfin bref, en fait c'est simple comme bonjour.
    Apparemment la démo fourni avec les composants contient une petite erreur (je ne serai vous dire laquelle )

    Merci Sub de t'être interessé à mon cas et j'attends avec impatience la sortie de DELPHP2 ... !!!!

    Bonne Soirée et encore merci.

    PS:

    Je mets un petit bout de code tout de même
    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
     
    procedure TForm1.Create(Sender: TObject);
    begin
    FtpClient1.UserName:='UserName du FTP';
    FtpClient1.PassWord:='MDP';
    FtpClient1.HostName:='Hebergeur';
    FtpClient1.LocalFileName:='C:\temp\toto.txt';// Chemin complet du fichier à uploader
    FtpClient1.HostDirName:='./';//racine du disque dans ce cas pour le dépos
    FtpClient1.HostFileName:='essai.txt'; // fichier renommé sur le serveur
    end;
     
    procedure TForm1.ConnectAndSentClick(Sender: TObject);
    begin
    FtpClient1.Connect;// Se connecte au FTP
    FtpClient1.Put;// Upload le fichier
    end;
     
    procedure TForm1.Disconnect(Sender: TObject);
    begin
    FtpClient1.Quit;//Déconnection
    end;
    Voilà Voilà

  8. #8
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Je profite de ce post pour vous poser une question.
    J'ai réussi à le faire une fois, mais je me rappelle plus comment lol.

    Voilà, je travail avec les composants d'ICS et actuellement sur le HttpCli et je dois faire un UrlEncode.
    Le problème, c'est que mon compilo me dit que je n'est pas déclarer UrlEncode alors que dans delphi je le trouve bien. Je cherche l'unité à inclure mais en vain.

    Quelqu'un peut-il me renseigner SVP?
    Merci

  9. #9
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Pour moi c'est une fonction dans Indy non ?

  10. #10
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Oui, c'est utiliser dans les composant Indy mais également dans ceux d'ICS.
    J'aurai du gardé mon exemple sous la main !

  11. #11
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Chez moi, ces fonctions se trouvent dans l'unité HttpProt.pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function UrlEncode(S : String) : String;
    function UrlDecode(S : String) : String;
    Avec la V6 d'ICS, tu les retrouve dans l'unité OverbyteIcsUrl.pas
    De retour parmis vous après 10 ans!!

  12. #12
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Bonsoir,

    J'ai utilisé l'unité situé dans Delphi\VC32 nommé IcsUrl.pas et tout fonctionne !
    On qualifie ce problème de résolu.
    Merci Sub

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/09/2006, 08h55
  2. [Upload]Telechargement grâce à une servlet : nom du fichier
    Par xtremax3 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 23/11/2005, 22h25
  3. [Upload] Upload ftp free
    Par joquetino dans le forum Langage
    Réponses: 9
    Dernier message: 09/10/2005, 02h28
  4. transfert ftp avec le composant
    Par sillycoder dans le forum Composants VCL
    Réponses: 3
    Dernier message: 19/05/2005, 09h35
  5. [Image]Vérifier taille image lors d'upload FTP
    Par MiJack dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 10/09/2004, 01h10

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