将图像保存到服务器
将图像保存到服务器,指定 Tomcat webapps 文件夹之外的固定路径。例如,如果您在“/var/webapp/”创建一个名为“upload”的文件夹,则可以将其设置为虚拟机参数(-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(); // Store it in DB
从服务器
检索图像的理想方法是将上传位置作为单独的上下文添加到Tomcat:
<Context docBase="/var/webapp/upload" path="/uploads" />
这允许通过这样的URL直接访问图像如http://example.com/uploads/foo-123456.ext.
如果服务器配置控制有限,请考虑将图像存储在数据库中或使用 Amazon S3 等第三方主机。
其他资源:
以上是如何在 Java Web 应用程序中高效地存储和检索图像?的详细内容。更多信息请关注PHP中文网其他相关文章!