Question :
Comment puis-je stocker et récupérer une image sur une serveur dans une application Web Java sans le stocker dans un base de données ?
Réponse :
L'emplacement optimal pour le stockage des images dépend de la configuration du serveur.
Emplacement de stockage idéal :
Configurez un chemin fixe en dehors du répertoire de l'application Web, tel que /var/webapp/upload, comme argument de VM ou variable d'environnement. Ce chemin peut être récupéré par programme. Par exemple, en utilisant l'argument -Dupload.location=/var/webapp/upload VM :
Path folder = Paths.get(System.getProperty("upload.location"));
Exemple de code de stockage et de récupération :
En supposant l'existence de un fichier téléchargé représentant le image :
Stockage :
String filename = FilenameUtils.getBaseName(uploadedFile.getName()); String extension = FilenameUtils.getExtension(uploadedFile.getName()); Path file = Files.createTempFile(folder, filename + "-", "." + extension); try (InputStream input = uploadedFile.getInputStream()) { Files.copy(input, file, StandardCopyOption.REPLACE_EXISTING); } String uploadedFileName = file.getFileName().toString(); // Save uploadedFileName in database
Récupération :
Ajoutez l'emplacement de téléchargement en tant que contexte distinct à Tomcat :
<Context docBase="/var/webapp/upload" path="/uploads" />
Désormais, l'image est accessible directement via une URL comme :
http://example.com/uploads/foo-123456.ext
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!