在哪里/如何在spring mvc中存储图像/文件

sha*_*mar 13 image spring-mvc

我在Spring MVC和Hibernate的电子商务应用程序中工作,我需要存储大量图像.
我想将图像保存在文件系统上(在服务器本身上以减少数据库的负载).我怀疑的是我应该在项目中保存图像的确切位置?

正如我在一些博客中所提到的那样,图片不应该保存在文件夹中,war因为它可能会在下一个版本的应用程序发布时导致问题(备份所有图像并再次手动放置)
请让我知道我需要在哪里保存图像以及如何在我们的java类中获取该文件夹路径.

kar*_*ala 7

您可以创建一个控制器,它将返回图像数据并使用它来显示在您的jsp上.

示例控制器:

@RequestMapping(value = "/getImage/{imageId}")
@ResponseBody
public byte[] getImage(@PathVariable long imageId, HttpServletRequest request)  {
    String rpath = request.getRealPath("/");
    rpath = rpath + "/" + imageId; // whatever path you used for storing the file
    Path path = Paths.get(rpath);
    byte[] data = Files.readAllBytes(path); 
    return data;
}
Run Code Online (Sandbox Code Playgroud)

并使用以下代码显示:

<img src="/yourAppName/getImage/560705990000.png" alt="myImage"/>
Run Code Online (Sandbox Code Playgroud)

HTH!

  • OP询问有关存储图像的问题,并接受了有关如何检索图像的答案。强大! (2认同)