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

Wicket Java Discussion :

Accéder à des ressources externes


Sujet :

Wicket Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 19
    Par défaut Accéder à des ressources externes
    Bonjour,

    J'ai découvert wicket, et je l'utilise pour mon premier développement d'une web application. Sa logique de conception est très séduisante.

    Je bloque sur un problème: mon application est déployée sur mon ordi sur un serveur Tomcat. Des liens renvoient dynamiquement (choix dans une liste) à des fichiers pdf que l'utilisateur est censé télécharger. Ces fichiers (plus de 5000) dépendent d'une autre application et ne peuvent pas être placés dans le dossier de ma webApp. Je ne sais pas comment y avoir accès : en utilisant : "file:////C:/MonDossierPdf" ça ne marche pas ...

    Une idée ?

  2. #2
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour,
    Une solution possible serait de passer par le DynamicWebResource, comme est montré dans cet exemple, mais en l'adaptant de sorte qu'elle ouvre un inputStream vers un fichier PDF et qu'elle retourne son contenu.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 19
    Par défaut
    merci pour le lien, je vais essayer d'adapter cette solution (mais c'est pas gagné )

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 19
    Par défaut
    Voilà, j'ai réussi à trouver une solution grâce à l'aide que j'ai obtenu ici :

    Ce code me permet d'ouvrir via mon application web des fichiers pdf hébergés sur mon serveur:

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    import java.io.FileInputStream;
    import java.io.IOException;
    import org.apache.wicket.markup.html.DynamicWebResource;
    import org.apache.wicket.markup.html.DynamicWebResource.ResourceState;
    import org.apache.wicket.util.file.File;
     
    public class PdfResource extends DynamicWebResource {
          private String chemin;
     
       public PdfResource(String chemin) {
           this.chemin = chemin;
       }
     
       @Override
       protected ResourceState getResourceState() {
           ResourceState state = new ResourceState() {
                      @Override
               public byte[] getData() {
                   return readRessource();
               }
                      @Override
               public String getContentType() {
                   return "application/pdf";
               }
                  };
           return state;
       }
     
       protected byte[] readRessource() {
           try {
               File f = new File(chemin);
               FileInputStream s = new FileInputStream(f);
               byte[] contenu = new byte[(int) f.length()];
               s.read(contenu);
               s.close();
               return content;
           } catch (IOException e) {
               throw new RuntimeException(e);
           }
       }
     
    }
    avec un lien de type ResourceLink de ce type, le pdf s'ouvre directement dans le navigateur du client.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    new ResourceLink("pdfLink", new PdfResource("C:/DossierPdf/pdfNo1.pdf"));

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

Discussions similaires

  1. Accéder à des ressources extérieure
    Par Doc17 dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 16/12/2009, 10h52
  2. Accéder à des fichiers externes (PDF, doc) dans une application J2EE
    Par JCF81 dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 11/03/2009, 16h09
  3. [Eclipse]Inclure/Utiliser des ressources "externes"
    Par manube dans le forum GWT et Vaadin
    Réponses: 8
    Dernier message: 26/11/2008, 12h28
  4. Réponses: 2
    Dernier message: 19/03/2007, 17h57
  5. Acceder à des ressources externes de façon unique
    Par KooKoolen dans le forum Général Java
    Réponses: 5
    Dernier message: 17/07/2006, 16h06

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