【问题标题】:Image not getting Displayed from database [duplicate]图像未从数据库中显示[重复]
【发布时间】: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..

标签: java mysql image jsp jstl


【解决方案1】:

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

【讨论】:

  • 是否可以通过 localhost 进行检查...?
猜你喜欢
  • 1970-01-01
  • 2015-04-10
  • 1970-01-01
  • 1970-01-01
  • 2015-01-01
  • 2014-08-18
  • 2015-06-21
  • 1970-01-01
  • 2012-12-28
相关资源
最近更新 更多