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
Linda Hamiltonoriginal
2024-11-18 21:40:021046parcourir

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"));

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!

Déclaration:
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