Java Web App上传和加载图像

标签 java web-applications

所以,我正在使用 Spring 框架开发简单的 Web 应用程序。

应用程序用户可以上传图像。

存储/加载图像的最佳实践是什么?

我在一些论坛上找到了解决方案,有人建议将文件存储到 user.dir 目录。

好吧,我也这么做。

当用户上传图像时,我将图像存储到 user.dir 目录中。

现在,我有一个问题:如何将图像从 user.dir 目录加载到页面?

 <img src="path/to/dir/where/images/stored"/>

最佳答案

最佳实践确实是将此类数据存储在 Web 应用程序树之外,以避免重新部署时出现问题。它们的确切存储位置更多的是一个约定问题,user.dir 确实是一个合理的选择。

不过,您不能直接提供这些文件,通常是通过创建映射到例如 images/* 的 servlet 来完成的。解析请求 URL(例如 <img src="approot/images/apic.jpg"/> )并基于该 url 如果获取并提供 path/to/dir/where/images/stored/apic.jpg 。作为一个额外的好处,Servlet 使您可以完全控制下载的内容、时间和下载者,也许您稍后在应用程序生命周期中将需要这种控制。

您可以使用getPathInfo检索 servlet 名称后面的 URL 部分,为输出设置正确的 MIME 类型,并将请求的文件流式复制到 servlet 的输出。

可以在 BalusC's blog 上找到此类 servlet 的公开可用且解释良好的示例。

关于Java Web App上传和加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11665999/

相关文章:

用于将正则表达式解析为 AST 的 Java 库?

java - 如何通过 Java 连接远程 Windows 机器?

java - HtmlUnit HtmlSubmitInput.click() 结果 "Incorrect URL"更正为 "cgi-bin",然后导致 UnknownHostException

java - 骨骼动画: bind pose

java - 脚本修改后部署的 Web 应用程序中发生 Groovy 转换异常

java - 获取查询<T>

iPhone 配置实用程序 - 为 webapp 添加 webclip

java - 如何在 webapp 中使用 java 创建文件?

database - 防止错误数据输入

Java Web 应用程序源文件