【发布时间】:2016-03-14 08:10:41
【问题描述】:
我已将图像存储在一个文件夹中,并将路径保存在 mySql 数据库中。当我尝试在 jsp 页面中显示图像时,图像未显示。但是当我尝试打印路径时,我可以看到显示的路径。不知道哪里出错了,谁能帮帮我..
小服务程序:
HttpSession session = request.getSession();
List sname = new ArrayList();
List photo1 = new ArrayList();
DAO dao = new DAO();
for(Newsfeed nfc: dao.display()) // dao.display() - Hibernate DAO
{
sname.add(nfc.getUsername());
photo1.add(nfc.getPhoto());
}
session.setAttribute("photo1", photo1);
session.setAttribute("sname", sname);
RequestDispatcher rd=request.getRequestDispatcher("/upload.jsp");
rd.forward(request, response);
JSP 页面:
<% List sname = (List) session.getAttribute("sname");
List photo1 = (List) session.getAttribute("photo1"); %>
<c:forEach items="${photo1}" var="pic">
<img src="<c:url value="${pic}"/>"/> <br>
</c:forEach>
但是如果我尝试显示路径名,它的工作原理
<c:forEach items="${photo1}" var="pic">
${pic} <br>
</c:forEach>
如果我运行它,我会得到输出
E:/upload/thres.gif
E:/upload/audio.png
不确定如何将其显示为图像...
【问题讨论】:
-
要在 jsp 中显示,您需要有效的链接——而不仅仅是文件路径。如果您需要存储在文件系统中,请尝试保存到您的 webapps 文件夹,然后将文件路径转换为 web-path。更好的办法是将图像作为 blob 放入数据库
-
你使用的是spring mvc还是普通的servlet?
-
@Jan 我会尝试保存在 web-path 文件夹中并检查...
-
@AnantLaxmikantBobde 普通 servlet..