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

Comment stocker et récupérer efficacement des images dans une application Web Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-01 16:18:11647parcourir

How to Efficiently Store and Retrieve Images in a Java Web Application?

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

Enregistrement d'une image sur le serveur

Pour enregistrer une image sur sur le serveur, spécifiez un chemin fixe en dehors du dossier Tomcat webapps. Par exemple, si vous créez un dossier nommé "upload" dans "/var/webapp/", vous pouvez le définir comme argument de VM (-Dupload.location=/var/webapp/upload) ou variable d'environnement.

En utilisant ce chemin, terminez le processus de téléchargement comme suit :

Path folder = Paths.get(System.getProperty("upload.location"));
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();
// Store it in DB

Récupération d'une image du Serveur

Le moyen idéal pour récupérer une image est d'ajouter l'emplacement de téléchargement en tant que contexte distinct à Tomcat :

<Context docBase="/var/webapp/upload" path="/uploads" />

Cela permet un accès direct à l'image via une URL telle que comme http://example.com/uploads/foo-123456.ext.

Si le contrôle de la configuration du serveur est limité, envisagez de stocker l'image dans la base de données ou d'utiliser un hébergeur tiers comme Amazon S3.

Ressources supplémentaires :

  • [File.getAbsolutePath() vs. File.getPath()](https://stackoverflow.com/questions/3693101/java-file-getabsolutepath-vs-getpath)
  • [Service de données fiable](https://tomcat.apache.org /tomcat-8.5-doc/config/context.html#Reliable_data_serving)

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