Maison > base de données > tutoriel mysql > Comment stocker et récupérer efficacement des images sur un serveur Web Java sans utiliser de base de données ?

Comment stocker et récupérer efficacement des images sur un serveur Web Java sans utiliser de base de données ?

Patricia Arquette
Libérer: 2024-11-17 17:05:02
original
497 Les gens l'ont consulté

How to Efficiently Store and Retrieve Images on a Java Web Server Without Using a Database?

Comment stocker et récupérer des images sur un serveur Web Java : une solution

Dans cet article, nous aborderons un défi courant dans applications Web : comment stocker et récupérer efficacement des images sur un serveur Web Java. Nous fournirons une solution complète qui répond aux préoccupations soulevées dans la question d'origine.

Comprendre la requête

La question demande : où les images doivent-elles être stockées pour permettre récupération et affichage efficaces dans un fichier XHTML sur un serveur, sans utiliser la base de données comme méthode de stockage ?

La solution recommandée

La solution idéale dépend du niveau de contrôle de la configuration du serveur. Si possible, il est recommandé de configurer un chemin fixe en dehors du dossier Tomcat webapps, tel que /var/webapp/upload. Ce chemin peut être défini comme argument de VM ou variable d'environnement pour garantir une récupération par programme sans modification du code.

Implémentation de la solution

Par exemple, lors de l'utilisation de l'argument VM - Dupload.location=/var/webapp/upload, vous pouvez terminer le 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();
// Now store it in the DB.
Copier après la connexion

Pour servir le fichier, l'ajout de l'emplacement de téléchargement en tant que contexte distinct à Tomcat est idéal. Par exemple :

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

Cette configuration permet un accès direct au fichier via des URL telles que http://example.com/uploads/foo-123456.ext.

Options alternatives

Si la configuration du serveur est limitée, envisagez d'utiliser la base de données pour le stockage ou de tirer parti d'un hôte tiers comme Amazon S3.

Ressources supplémentaires

  • [Comment fournir un chemin relatif dans la classe File pour télécharger n'importe quel fichier ?](https://stackoverflow.com/questions/3344856/how-to-provide-relative-path-in-file-class-to -upload-any-file)
  • [Service de données fiable](https://tomcat.apache.org/tomcat-8.5-doc/config/context.html#Reliable_Data_Serving)

Conclusion

La mise en œuvre de la solution recommandée fournit une approche robuste pour stocker et récupérer des images sur un serveur Web Java, permettant une gestion et un affichage efficaces des fichiers dans les interfaces d'application.

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!

source:php.cn
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