Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1301 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Web : Envoyer un document non HTML

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Web : Envoyer un document non HTML

n°653435
Mara's dad
Yes I can !
Posté le 24-02-2004 à 17:52:49  profilanswer
 

Hello :hello:  
Donc, j'ai une page qui propose des documents à l'utilisateur.
Ces documents peuvent être de différents types (text, word, pdf...).
Je connais bien sûr le content-type de mes documents.
 
Le problème, c'est que les documents ne sont pas sur disque, mais dans des blobs ( C'est pas mon choix :( ).
 
L'url va donc être un truc du genre:
http://www.monserveur.com/applicat [...] p?docId=27
 
La question est donc : comment écrire getDocument.jsp pour que le content-type soit celui du document ?
 
Typiquement, si mon document était du HTML ça se passerait comme ça :
 

Code :
  1. <jsp:useBean id="x" scope="session" class="org.chezwam.DocumentServer" />
  2. <% response.getWriter().print( x.getDocument( request ) ); %>


 
Remarques :
1- Oui, j'y connais rien ou presque en JSP :D
2- Non, j'ai pas cherché :whistle:
 
Mais bon ma question est tellement bien posée :sol:  que ça mérite une réponse non ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le 24-02-2004 à 17:52:49  profilanswer
 

n°653461
benou
Posté le 24-02-2004 à 18:05:18  profilanswer
 

Pour ce genre de besoin, fait une servlet plutot qu'une JSP.
Tu écris directement dans le flux de la réponse.
Et utilise le OutputStream plutot que le Writer ...
 
Pour mettre le bon contentType, tu te sers de la methode response.setContentType().


Message édité par benou le 24-02-2004 à 18:09:07

---------------
ma vie, mon oeuvre - HomePlayer
n°653535
Mara's dad
Yes I can !
Posté le 24-02-2004 à 18:48:56  profilanswer
 

merci :jap:


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°653664
benou
Posté le 24-02-2004 à 20:34:24  profilanswer
 

de rien collègue ;)


---------------
ma vie, mon oeuvre - HomePlayer
n°654637
Mara's dad
Yes I can !
Posté le 25-02-2004 à 15:57:47  profilanswer
 

J'ai une autre question à propos du content-type.
Y'a t-il une méthode simple et fiable en Java 1.3 de déterminer le content-type d'un fichier.
Pour le moment, on utilise le content-type fournis pas le client, mais j'aime pas trop ça, même si ce n'est utilisé que dans l'interface d'admin.
 
Les miroirs : 4111 !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°654681
benou
Posté le 25-02-2004 à 16:08:50  profilanswer
 

ben tu peux pas ... le content type c'est justement pour donner la nature d'un fichier binaire...
 
Il y a des "mappings" habituels en fonction de l'extension du fichier ( htm -->  text/html, gif --> image/gif, etc ...)
 
Donc c'est pas vraiment un problème java mais plutot un problème de convention et de configuration ...
 
Dans un environnement servlet, tu peux utiliser les mapping extension<-->contentType décris dans le fichier de déploiement (ca fait partit de la spécification servlet) en utilisant la méthode ServletContext.getMimeType().
Mais bon, pour que ca marche il faut que tu aies l'extension du fichier ... je sais pas si dans ton cas tu l'as ...


---------------
ma vie, mon oeuvre - HomePlayer
n°654691
benou
Posté le 25-02-2004 à 16:12:46  profilanswer
 

Mara's dad a écrit :


Les miroirs : 4111 !


c'est ton tel ? je te trouve pas dans l'annuaire à ce numéro :/


---------------
ma vie, mon oeuvre - HomePlayer
n°654789
Mara's dad
Yes I can !
Posté le 25-02-2004 à 16:29:52  profilanswer
 

benou a écrit :


c'est ton tel ? je te trouve pas dans l'annuaire à ce numéro :/


T'as un annuaire trop vieux !
Akitel II version 1.0  Base version :09/01/2004.
 
Sinon, pour le content-type, il me semble que des gens ont développé des bases de signatures qui permettent de déterminer le content-type à partir du contenu au lieu de la simple extention du fichier.
 
Genre ce que Joce à du faire pour ne pas prendre un .gif qui en fait contient un fichier flash...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°654805
benou
Posté le 25-02-2004 à 16:37:35  profilanswer
 

Mara's dad a écrit :


T'as un annuaire trop vieux !
Akitel II version 1.0  Base version :09/01/2004.


 
ouais :/
 
j'ai pu mon mot de passe source pour pouvoir télécharger la nouvelle version :/
 
edit : 22/10/2001  :sweat:  
 
 

Mara's dad a écrit :


Sinon, pour le content-type, il me semble que des gens ont développé des bases de signatures qui permettent de déterminer le content-type à partir du contenu au lieu de la simple extention du fichier.
 
Genre ce que Joce à du faire pour ne pas prendre un .gif qui en fait contient un fichier flash...


ca ca peut marcher pour quelques fichiers : dans le cas du GIF, y a un header : les 3 premier caracteres sont GIF.  
 
Mais bon, en plus d'être extremement peu performant (ouvrir le fichier, tester les headers des formats de fichiers les plus connus), y a des format de fichiers pour lesquels ca marche pas. ex : un fichier texte :/


Message édité par benou le 25-02-2004 à 19:45:42

---------------
ma vie, mon oeuvre - HomePlayer
n°655015
the real m​oins moins
Posté le 25-02-2004 à 18:55:52  profilanswer
 

Mara's dad a écrit :


Sinon, pour le content-type, il me semble que des gens ont développé des bases de signatures qui permettent de déterminer le content-type à partir du contenu au lieu de la simple extention du fichier.
 
Genre ce que Joce à du faire pour ne pas prendre un .gif qui en fait contient un fichier flash...

oui enfin joce à pris le machin de php qui fait ça tout seul :o
sinon oui j'allais dire qu'il existait peut etre une lib pour faire ça en java... mais bon c ptet un peu lourd pour pas gd chose... va voir du coté de ce que t'as dit benou.
 
 
(sinon je suis aussi passé par le "matter les 4 premiers bytes et si c'est escape-P-N-G c'est bon [:chacal_one333])


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 25-02-2004 à 18:55:52  profilanswer
 

n°655986
Mara's dad
Yes I can !
Posté le 26-02-2004 à 11:28:38  profilanswer
 

J'ai cherché un lib qui ferait ça et j'ai pas trouvé.
 
Je ne vois pas trop pourquoi ce serait si lourd.
La lib qui gère le file upload, il n'est pas obligé "d'ouvrir", le fichier, les octets il les voit passer sous son nez.
 
M'enfin, je suis quand même pas le seul à avoir ce genre de besoin !
 
Et même si c'est lourd, c'est un traitement qui n'est fait que dans le cardre d'un upload de fichier. C'est à dire sur une opération assez rare par rapport au trafic général d'un site. Mais c'est tellement sensible qu'il me semble important qu'on s'y attarde un peu non ?
Je suis le seul parano içi ou quoi :D
 
En fait pour alléger le truc, il suffit de valider le content-type fourni, c'est à dire de faire un test "simple". Il ne s'agit pas de déterminer à l'aveugle le type d'un fichier.
 
Allez, si je ne trouve pas, je lance un nouveau projet, le : ContentTypeValidator !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Web : Envoyer un document non HTML

 

Sujets relatifs
[HTML] Comment descendre une arborescence ???Petit probleme PHP/HTML
Copnversion de HTML pas conforme en conforme+css[HTML/CSS] Entourer un site d'une bordure de 1pixel ...
site web avec html et phpFormulaire avec du html sans php possible?
Please delete this post[HTML]NE plus avoir les liens soulignés
[HTML/PHP] Récupérer l'adresse MAC du gars qui a fait la requête... 
Plus de sujets relatifs à : Web : Envoyer un document non HTML


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR