如何在 Java Web 服务器上存储和检索图像:解决方案
在本文中,我们将解决以下方面的常见挑战: Web 应用程序:如何在 Java Web 服务器上有效地存储和检索图像。我们将提供一个全面的解决方案来解决原始问题中提出的问题。
理解查询
问题询问:图像应该存储在哪里以允许在服务器上的 XHTML 文件中高效检索和显示,而不使用数据库作为存储方法?
推荐解决方案
理想的解决方案取决于对服务器配置的控制级别。如果可能,建议在Tomcat webapps文件夹之外配置固定路径,例如/var/webapp/upload。该路径可以设置为 VM 参数或环境变量,以确保无需修改代码即可进行编程检索。
实现解决方案
例如,当使用 VM 参数时 - dupload.location=/var/webapp/upload,您可以按如下方式完成上传:
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.
用于服务文件,将上传位置作为单独的上下文添加到 Tomcat 是理想的选择。例如:
<Context docBase="/var/webapp/upload" path="/uploads" />
此设置允许通过 http://example.com/uploads/foo-123456.ext 等 URL 直接访问文件。
替代选项
如果服务器配置有限,请考虑使用数据库进行存储或利用亚马逊等第三方主机S3.
其他资源
结论
实现推荐的解决方案提供了一种在 Java Web 服务器上存储和检索图像的强大方法,从而能够在应用程序中进行高效的文件管理和显示接口。
以上是如何在不使用数据库的情况下在 Java Web 服务器上高效地存储和检索图像?的详细内容。更多信息请关注PHP中文网其他相关文章!