[Java JSP-JSF...]Masquer l'URL/nom d'un fichier à télécharger

Masquer l'URL/nom d'un fichier à télécharger [Java JSP-JSF...] - Java - Programmation

Marsh Posté le 30-01-2009 à 13:42:11    

Bonjour à tous,
 
Les utilisateurs d'un Extranet sur lequel je travail en ce moment vont prochainement avoir la possibilité de télécharger des documents PDF via l'interface web développée en Java.

  • Les fichiers sont stockés sur un serveur
  • Chaque utilisateur à son propre fichier, reconnaissable par une suite de numéro après le nom du fichier (ex : le_fichier_1451456_156941785.pdf).
  • Le numéro du fichier peut être considéré comme confidentiel


=> Je souhaiterai qu'au moment où l'utilisateur déclenche le téléchargement, le fichier soit renommé ( ex: le_fichier.pdf). Le but est qu'il ne puisse pas voir les numéros à la fin du fichier.
(le fichier doit resté nommé pareil côté serveur)
 
Le "renommage" que j'appellerai de "virtuel" pourrai aussi bien être réalisé du côté Web Service comme du côté Web, bien que dans les deux cas, j'ai aucune idée de comment procéder à par en faisant une copie du fichier (possibilité rejeté pour cause de nombreux accès simultanés possible...), mais le traitement ne pourra pas être réalisé en PHP.
 
 
Si vous avez des pistes pour m'aiguiller... je suis preneur  :jap:  car je ne connais pas grand chose aux technos Web !
 
 
Merci d'avance,
Sord.

Reply

Marsh Posté le 30-01-2009 à 13:42:11   

Reply

Marsh Posté le 30-01-2009 à 14:10:07    

si tu envoies le fichier à partir d'une servlet, c'est toi qui set le nom du fichier dans les Headers http, donc tu peux passer le nom que tu veux.
 
tes utilisateurs pourraient avoir un lien vers une servlet, genre http://blablabla/telecharger?user=uid et pis dans ta servlet, tu leur lances le fichier dans la response HTTP.
 
non ?


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 30-01-2009 à 15:07:55    

Ok, je vois +/- le principe, je pensais au début directement générer un lien HTML vers le fichier (sur lequel cliquerai l'utilisateur)
 
Du coup ça me rappel un bout de code que j'avais vue sur developpez.net je crois pour le download de fichier a partir de Servlet, faut que je retrouve ça !
 
(je découvre au fur et a mesure les possibilité de tout ça... je ne connaissais rien il y a 2 semaines en Java Web !)
 
Je vais voir ça lundi matin à mon retour au taf. Bon week-end.

Reply

Marsh Posté le 06-02-2009 à 16:21:34    

Bon bah je pars sur quelque chose de ce style :
 

Code :
  1. File file = new File("c:\\example.pdf" ); //URL du PDF
  2. byte[] fileData = new byte[(int)file.length()];
  3. FileInputStream fis = new FileInputStream(file);
  4. fis.read(fileData);
  5.      
  6. response.reset();
  7. response.setContentType("application/pdf" );
  8. response.setContentLength(fileData.length);
  9. response.setHeader("Content-Disposition", "inline;filename=example.pdf" ); // nom visible
  10.      
  11. ServletOutputStream outputStream = response.getOutputStream();
  12. outputStream.write(fileData);
  13. outputStream.flush();
  14. outputStream.close();


 
Je penses que ça devrait le faire un truc de ce style (pas eu le temps de la semaine de me remettre sur ce projet Web...)


Message édité par Profil supprimé le 06-02-2009 à 16:23:05
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed