Maison > base de données > tutoriel mysql > Comment stocker et récupérer des images dans une application Web Java sans utiliser de base de données ?

Comment stocker et récupérer des images dans une application Web Java sans utiliser de base de données ?

Linda Hamilton
Libérer: 2024-11-18 21:40:02
original
1071 Les gens l'ont consulté

How to Store and Retrieve Images in a Java Web App Without Using a Database?

Stockage et récupération d'images dans une application Web Java

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"));
Copier après la connexion

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
Copier après la connexion

Récupération :

Ajoutez l'emplacement de téléchargement en tant que contexte distinct à Tomcat :

<Context docBase="/var/webapp/upload" path="/uploads" />
Copier après la connexion

Désormais, l'image est accessible directement via une URL comme :

http://example.com/uploads/foo-123456.ext
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal