2010-10-03 6 views
3


Quelles sont les étapes requises pour activer une application Web Java (développée avec Spring + Wicket) pour accepter les téléchargements de fichiers client vers un répertoire spécifique sur le serveur.
En recherchant des réponses à cette question, je vois des suggestions pour que/WEB-INF/some-directory soit utilisé comme emplacement de téléchargement?
La raison de cette meilleure pratique?
Cet emplacement est-il accessible en écriture pour l'application Web?
Qu'arrive-t-il à cet emplacement lorsqu'une nouvelle version de l'application Web est déployée? Can/Faut-il utiliser un autre répertoire?
MerciTéléchargement de fichiers dans Spring + Wicket

Répondre

1

Deux raisons possibles de l'utilisation d'un sous-répertoire WEB-INF:

  • il n'est pas visible par HTTP

  • votre application a généralement accès en écriture à ce

Je recommande plutôt d'utiliser un répertoire externe configurable (par exemple configuré dans un paramètre de contexte o r en fichier de configuration d'application); De cette façon, vous avez un contrôle précis sur les permissions du répertoire. AFAIK, le téléchargement de fichier dans Wicket est fourni par le composant FileUploadField, ce qui vous donne un objet FileUpload que vous pouvez writeTo un fichier sur votre serveur.

Vous pouvez également configurer/vérifier la taille maximale des fichiers que vous souhaitez accepter. Dans Tomcat, cela se fait via l'attribut maxPostSize d'un Connecteur (voir The HTTP Connector)

+3

Le stockage des fichiers téléchargés dans la structure de fichier propre à webapp est un gros ** non-non ** car 1) Cela ne fonctionne pas lorsque le conteneur est n'est pas configuré pour développer le WAR. 2) Tous les fichiers téléchargés sont perdus chaque fois que vous redéployez le fichier WAR ou même lorsque vous redémarrez le serveur. – BalusC

Questions connexes