Je la recherche depuis un moment en ligne (Google et StackOverflow), mais je n'ai pas encore rencontré cette question. Peut-être que ma requête n'est pas correcte (veuillez rediriger alors!)Java, Tomcat 6: enregistrement de fichiers en HD local
J'ai développé et mis en place une WebApp sur TomCat 6 sous Linux. Tomcat ne fonctionne pas encore dans un environnement hôte virtuel, j'ai un contrôle total sur le serveur. Par conséquent, le fichier .war est enregistré dans le répertoire de déploiement standard de Tomcat. Le problème que je rencontre concerne les images: différents services Web fournissent des images de tailles différentes qui doivent être présentées dans des tailles uniformes. Je les télécharge et les redimensionne sans problème, mais je dois stocker une copie locale de l'image car cela prend du temps si cela est fait en temps réel, plus beaucoup de gaspillage de bande passante. Je ne les sauvegarde pas sous le dossier temp de .war sous Tomcat, en raison d'un cas où un arrêt du serveur me forcerait à recharger toutes les images.
J'ai créé un répertoire différent sous/home/nom_utilisateur/images, que je diffuse ensuite sous un sous-domaine différent via Apache standard, et le code HTML généré dans le fichier .jsp est simplement une URL correcte du fichier. Fonctionne très bien si l'image n'existe pas. Toutefois, en raison de problèmes d'autorisation, l'instance Tomcat ne peut pas supprimer ou remplacer les fichiers déjà créés, même si j'ai marqué le dossier dans lequel les images sont stockées avec des autorisations 777. En aparté, je ne vois pas le besoin de lui donner 777 perms, mais avec 755 (par exemple), j'ai eu des problèmes de permission même en essayant d'enregistrer un nouveau fichier. Donc: y a-t-il une meilleure solution (j'ai considéré la base de données, mais les images dir sont maintenant à 250mb, et je ne vois pas la nécessité de trop surcharger la base de données)?
Méfiez-vous de l'enregistrement des fichiers sur le disque sans d'abord vérifier le nom du fichier; http://www.theregister.co.fr/2010/10/06/net_voting_hacked/ – Qwerky
Merci pour les heads up! – mno2go
En fait, juste md5 (timestamp) pour obtenir un nom de fichier :) nom pas élégant, mais assure généralement qu'il est unique. Donc pas de problèmes ici! – mno2go