2 votes

RichFaces et JSF : Où le composant fileUpload télécharge-t-il les fichiers ?

J'essaie d'utiliser cet exemple de composant fileUpload de travailler sur mon propre projet. Cependant, chaque fois que je télécharge quelque chose, il est indiqué que le téléchargement est terminé avec succès, mais je n'ai aucune idée de l'endroit où il va sur le serveur. J'utilise la fonction de recherche de Windows pour trouver le nom du fichier que je viens de télécharger, mais je n'obtiens aucun résultat.

Selon le cette page Le fichier devrait être stocké dans un fichier temporaire quelque part, mais une analyse de l'ensemble du serveur (toujours à l'aide du programme de recherche de Windows) n'a rien donné. J'utilise Oracle WebLogic, si cela peut vous aider.

Comment puis-je savoir ce qu'il advient du fichier téléchargé ?

6voto

BalusC Points 498232

Extrait de la page liée :

FileUpload utilise deux paramètres d'initialisation qui doivent être définis dans la définition du filtre dans le fichier web.xml :

  • createTempFiles attribut booléen qui définit si les fichiers téléchargés sont stockés dans des fichiers temporaires ou s'ils sont disponibles dans l'auditeur comme byte[] données ( false pour cet exemple).

Ainsi, l'exemple de code lié le stocke dans la mémoire du serveur sous la forme d'un fichier byte[] . Vous êtes censé l'écrire dans un fichier toi-même en utilisant FileOutputStream . Si vous réglez createTempFiles a true Vous pouvez alors obtenir une java.io.File objet par org.richfaces.model.UploadItem#getFile() qui fournit à son tour des méthodes pour révéler le chemin réel, telles que File#getAbsolutePath() .

Je recommanderais de le régler sur true Quoi qu'il en soit. Les téléchargements importants et simultanés de plusieurs utilisateurs peuvent provoquer OutOfMemoryException dans le cas contraire. Il ne faut pas que cela se produise dans la production.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X