我的文件服务器上有图像,以及存储在数据库中的图像的位置。我们说我的所有图片都存储在文件夹
中 C:\Users\myuser\Desktop\images\
我的数据库中有以下行
C:\Users\myuser\Desktop\images\image1.png
C:\Users\myuser\Desktop\images\image2.png
我想在JSP页面上显示图像,通过注释使用Spring MVC
我已为图像文件夹
配置了资源处理程序@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/images/**").addResourceLocations("file:C:/Users/myuser/Desktop/images/");
}
并且我将从数据库加载的文件路径传递给jsp文件
这里是我想要展示的方式
<c:forEach var="imgPath" items="${imagesList}">
<img src="/images/${imgPath}" alt="">
</c:forEach>
我尝试在数据库中保存文件名,或者删除/images/
资源处理程序,并且非方法可以正常工作。我应该如何存储我的文件名,以及如何从计算机上的某个绝对路径访问文件?
答案 0 :(得分:3)
请修正以下内容并尝试:
对于Windows文件系统,请使用3个斜杠。
file:///C:/Users/mainserver/Desktop/images/
只需存储图像的名称(例如image1.png,image2.png等),而不是整个路径。
答案 1 :(得分:1)
查看src
标记的<img>
属性的结果值。看起来就像这样:/images/C:\Users\myuser\Desktop\images\image1.png
显然是错的。它应该是/images/image1.png
我尝试在数据库中保存文件名
如果它不起作用那么还有另一个问题需要解决。但是这种方法是正确的,在数据库中你应该只有文件名而没有别的东西。