为什么图片不显示啊?数据库里面imagepath保存的是图片路径。

页面代码:
<form action="deleteGoodsServlet">
<table>
<tr>
<td>
选择
</td>
<td>
商品名称  
</td>
<td>
商品 介绍  
</td>
<td>
商品价格  
</td>
<td>
实物图片
</td>
</tr>

<c:forEach var="goods" items="${goodslist}">
<tr>
<td>
<input type="checkbox" name="ids" value="${goods.id}">
</td>
<td>
<c:out value="${goods.name}" />
</td>
<td>
<c:out value="${goods.description}" />
</td>
<td>
<c:out value="${goods.price}" />
</td>
<td>
<img src="${goods.imagepath}" width="100" height="80">
</td>
<td>
<a href="editGoodsServlet?id=${goods.id}" />修改</a>
</td>
</tr>
</c:forEach>
<tr>
<td>
<input type="submit" value="删除">
</td>
<td>
<a href="filter/addGoods.jsp">添加书籍</a>
</td>
</tr>
</table>

servlet代码:
SmartUpload suplod = new SmartUpload();
suplod.initialize(this.getServletConfig(),request, response);
suplod.setMaxFileSize(1024*768);
suplod.service(request,response);
String imgename=null;
try {
suplod.upload();
imgename=suplod.getFiles().getFile(0).getFileName();
suplod.save("D:/image");
} catch (SmartUploadException e) {
e.printStackTrace();
}
String imagepath="D:/image"+imgename;
String name=suplod.getRequest().getParameter("name");
String description=suplod.getRequest().getParameter("description");
double price=Double.parseDouble(suplod.getRequest().getParameter("price"));
new GoodsDao().addGoods(name,description,price,imagepath);
request.getRequestDispatcher("goodsServlet").forward(request, response);

把 img 的代码 该成这个 测试下

<img src='${pageContext.request.contextPath }/${goods.imagepath}' />

这个用的是绝对路径
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-21
数据库里应存储图片的路径

这个和单双引号有点关系,还与文件的扩展名的大小写有关,路径最好用相对路径,路径与名字不要有中文出现

还有一种就是数据库里存图片的二进制信息,你自己在还原为图片
第2个回答  2010-11-21
在不显示图片的地方看一下图片路径对不对,应该是路径问题,注意相对路径与绝对路径.
第3个回答  2010-11-21
上传图片保存的是全局路径,比如:C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\shop\upload\a.jpg,把这个路径储存在数据库里面,然后显示的时候用img src="s:property value="imagepath"/" / ,s:property value="imagepath"/就是这个路径,可是图片显示不出来。应该怎么改。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网