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

Langage Java Discussion :

Upload et download de fichier sans utiliser JSP


Sujet :

Langage Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Points : 131
    Points
    131
    Par défaut Upload et download de fichier sans utiliser JSP
    Bonjour,

    J'ai une application JAVA qui est accessible via Java Web Start sur internet et dans laquelle je voudrais pouvoir uploader des fichiers sur le serveur (où se trouve la base de données, les sources et donc le .jnlp), à partir d'un PC client quelconque, puis de pouvoir les récuperer à p'artir d'un autre PC client, en les téléchargeant depuis le serveur.

    J'ai cherché sur le forum mais je n'ai trouvé que des solutions JSP que je ne connait et n'utilise pas du tout (d'ailleurs je ne pense pas que ca "colle" avec mon projet)

    J'ai donc pu lire quelques réfèrences aux API "commons fileupload" et "httpclient".

    Comme je ne sais pas du tout dans quoi je m'engage vraiment (comme souvent lol), je viens vous demander un peu d'aide, d'éclaircissement et de conseils sur la façon de procéder pour réaliser ce que je veux faire.

    Est ce que je peux vraiment faire ce que j'ai en projet ? Est-ce que l'une de ces deux api peut m'aider ? Comment dois-je procéder ?

    Merci pour votre aide et pour vos réponses.

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Le principal problème est de savoir avec quel procotole tu vas uploader le fichier :

    • Via FTP, ton programme devra contenir le login/password de connection, ce qui pourrait poser des problèmes de sécurités
    • Via HTTP, il te faudra un langage dynamique coté serveur (JSP ou autre) qui traitera les données en entrée. Mais tu as des problèmes similaires de sécurité (il faut t'assurer que les données proviennent bien de ton application)
    a++

  3. #3
    Membre habitué Avatar de manube
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2004
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 180
    Points : 178
    Points
    178
    Par défaut
    Salut,
    Juste pour dire que tu peux aussi sauver tes fichiers sur la bd.
    Comme tu auras à gérer les pbs de sécurité pour te connecter à la BD ca t'évitera d'avoir à re-gérer ces pbs une deuxième fois pour le ftp ou le http.
    Voila
    ++
    Manu

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Points : 131
    Points
    131
    Par défaut
    Que veux tu dire par "sauver tes fichiers sur la bd" ?

    C'est de sauvegarder directement le texte contenu dans le fichier dans la base de données ?

    En utilisant une solution utilisant le protocole FTP, je devrais forcement mettre une serveur FTP sur le serveur c'est ca ?

    Et en utilisant le protocole HTTP, je dois forcement mettre en place un langage dynamique côté serveur qui récupererales données envoyé de mon appli et les transformera en fichier sur le serveur ?

    Je ne dit pas de bêtises ? Donc dans tous les cas, si je veux faire cela, je suis obligé de rajouter autre chose, je ne peux pas le faire seulement avec l'appli ?

    Et quelle est, selon vous, la méthode la plus simple à mettre en place ?

    Merci pour vos réponses.

  5. #5
    Membre habitué Avatar de manube
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2004
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 180
    Points : 178
    Points
    178
    Par défaut
    Alors je vais répondre uniquement à ce qui me concerne.

    Par "sauver les fichiers sur la bd" j'entends sauver des fichiers sous la bd en tant que blob "Binary Large OBject"... et surtout pas faire un copier-coller du source du fichier dans un champs texte car la on court tout droit à la catastrophe.

    Voila

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Points : 131
    Points
    131
    Par défaut
    Ca serait une solution mais ca va m'obliger à restructurer le tout...

    Et pour mes autres questions quelqu'un peut-il me répondre ? adiGuba ?

    Merci

  7. #7
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par RR instinct
    En utilisant une solution utilisant le protocole FTP, je devrais forcement mettre une serveur FTP sur le serveur c'est ca ?

    Et en utilisant le protocole HTTP, je dois forcement mettre en place un langage dynamique côté serveur qui récupererales données envoyé de mon appli et les transformera en fichier sur le serveur ?
    Oui et oui. Il te faudra obligatoirement utiliser un protocole de communication entre ton application cliente et le serveur. FTP et HTTP ne sont que deux propositions, n'importe quel autre protocole pourrait faire l'affaire... mais ce sont des protocoles standards assez facile à mettre en oeuvre...

    Citation Envoyé par RR instinct
    Je ne dit pas de bêtises ? Donc dans tous les cas, si je veux faire cela, je suis obligé de rajouter autre chose, je ne peux pas le faire seulement avec l'appli ?
    Imagine si ton application pouvait uploader des fichiers sur le serveur directement, cela voudrait dire que n'importe quel autre application pourrait en faire de même tu imagines un peu les conséquences que cela pourrait avoir !!!

    Citation Envoyé par RR instinct
    Et quelle est, selon vous, la méthode la plus simple à mettre en place ?
    Si tu n'as pas de serveur J2EE, un simple PHP peut faire l'affaire coté serveur. Il devra valider le fichier uploadé ET vérifier la provenance de ce dernier (via un mot de passe par exemple).

    a++

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Points : 131
    Points
    131
    Par défaut
    Il faut donc que le serveur supporte en plus le php...

    j'aurai pensé qu'on pouvait donner un droit d'accès via le fichier jnlp pour le faire mais bon...

    je vais essayer de me debrouiller avec ces informations.

    Si quelqu'un à autre chose à ajouter...

  9. #9
    Membre confirmé Avatar de yjuliet
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Août 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 362
    Points : 460
    Points
    460
    Par défaut
    La solution la plus simple dépend principalement de ce que tu utilises déjà actuellement en termes de logiciels serveur. Si tu as déjà un apache pour distribuer ton appli JWS, alors, PHP me parait assez adapté, par contre, si tu utilises un Tomcat ou autre serveur d'applis Java, se mettre au JSP ne sera pas très compliqué et t'évitera d'avoir à déployer d'autres solutions...

    Concernant les solutions d'upload par FTP, j'aime pas particulièrement, tant qu'à faire, autant minimiser les ports ouverts sur ton serveur, si t'as pas besoin d'un ftp pour autre chose...

    Pour la sauvegarde dans la BD, ça peut être envisageable, mais je déconseille cette solution pour les gros fichiers qui risquent de ralentir ton SGBD en général...

Discussions similaires

  1. [Upload] Upload un fichier sans utiliser $_File
    Par Delphi-ne dans le forum Langage
    Réponses: 10
    Dernier message: 14/09/2008, 20h11
  2. Recherche dans un fichier sans utiliser les Jet drivers ?
    Par kueisaho dans le forum VBScript
    Réponses: 1
    Dernier message: 05/03/2007, 18h09
  3. Réponses: 1
    Dernier message: 23/08/2006, 14h57
  4. Decompression d'un fichier sans utiliser les modules du CPAN
    Par choubiroute dans le forum Modules
    Réponses: 6
    Dernier message: 10/03/2006, 14h20

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