图像未从数据库显示

时间:2015-12-09 06:42:12

标签: java mysql image jsp jstl

我已将图像存储在文件夹中并将路径保存在mySql数据库中。当我尝试在jsp页面中显示图像时,图像不会显示。但是当我尝试打印路径时,我可以看到显示的路径。不知道我哪里出错了,有人可以帮帮我..

的Servlet

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

不确定如何将其显示为图像...

1 个答案:

答案 0 :(得分:0)

路径是本地文件路径。访客将无法从网站上获取。您需要将其放在Web服务器的可公开访问的文件夹中并使用该链接。