问题:
如何在 Java Web 应用程序中存储和检索图像
答案:
图像存储的最佳位置取决于服务器配置。
理想的存储位置:
配置 webapp 目录之外的固定路径,例如 /var/webapp/upload,作为 VM 参数或环境变量。可以通过编程方式检索该路径。例如,使用 -Dupload.location=/var/webapp/upload VM 参数:
Path folder = Paths.get(System.getProperty("upload.location"));
示例存储和检索代码:
假设存在代表图像的 uploadedFile:
存储:
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
检索:
将上传位置添加为单独的Tomcat 的上下文:
<Context docBase="/var/webapp/upload" path="/uploads" />
现在,可以通过如下 URL 直接访问图像:
http://example.com/uploads/foo-123456.ext
以上是如何在不使用数据库的情况下在 Java Web 应用程序中存储和检索图像?的详细内容。更多信息请关注PHP中文网其他相关文章!