Maison >base de données >tutoriel mysql >Comment stocker et récupérer efficacement des 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 :
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!