jsp中img src设置绝对路径的图片

时间:2022-10-28 21:32:01
我的问题是这样的:    
       1.数据库中存放的是图片的地址,存放的方法是:this.getServletContext().getRealPath("/WEB-INF/cImage") 加上 图片的名字作为地址。 现在假如有一张图片已经存入数据库,它的地址在数据库中显示的是:C:\apache-tomcat-6.0.43\webapps\mmw\WEB-INF\cImage\1\11\a.jpg   
       2.现在在jsp中打算用数据库中存放的图片地址将这张图片显示出来:<img alt="商品信息图" src="${category.image }" > 此时却是显示不了图片。打开网页的源码src是:C:\apache-tomcat-6.0.43\webapps\mmw\WEB-INF\cImage\1\11\a.jpg 问题是显示不了图片。    
       3.请问应该怎么解决这个问题? 谢谢大家! 

13 个解决方案

#1


C:\apache-tomcat-6.0.43\webapps\mmw\WEB-INF\cImage\1\11\a.jpg  是本地地址,不是网络地址。

数据库中存放的是图片的地址,存放的方法是:this.getServletContext().getRealPath("/WEB-INF/cImage") 加上 图片的名字作为地址。
既然你已经明白怎么存储了,怎么会有 
现在假如有一张图片已经存入数据库,它的地址在数据库中显示的是:C:\apache-tomcat-6.0.43\webapps\mmw\WEB-INF\cImage\1\11\a.jpg

#2


你应该在你的数据库存去照片的相对不路径而不是绝对路径,最好是照片传过来后修改下路径在放进去

#3


存的时候 没存好 

#4


数据库存后面的就够了\cImage\1\11\a.jpg 

#5


存这个
\cImage\1\11\a.jpg
就可以了,这个就算绝对路径,你的路径定义搞错了吧!!

#6


<img  src = "${contextPath }/static/image/index-login.png" 

知道${contextPath }是啥意思吗

可以用这个 ${pageContext.request.contextPath } 当然也可以在jsp中自己构建

#7


你现在不显示图片的问题是,这个路径下没有这图片。另外存在数据库的时候只需要存一个图片的名称,路径可以固定写在程序中或配置文件里,你这样写图片还怎么转移到其他地方?批量修改数据库???

#8


WEB_INF 下面不能直接访问,
两个方案:一、把图片从WEB_INF 下拿出来,重新这只路径。

二、已请求的方式加载图片,否者就会报错 。

#9


你看一下页面最上面有没有一个有关<a></a>的一个链接设置  那个东西会使你整个页面的链接前面都有一个默认的路径

#10


你只需要存cImage\1\11\a.jpg到数据库,在controller类中获取url路径例如:imageurl就是那cImage\1\11\a.jpg,然后imageurl="../"+imageurl就是网络路径了

#11


lz解决问题了吗,我也遇到这样的问题了,我写的是相对路径<img src="<s:property value="item.file"/>"/>其中item.file=../UploadImages/3551150793.jpg但是我存图片是存在C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\sale\UploadImages\1464684372553.jpg 这个下面的,所以页面加载不出来图片怎么解决

#12


B/S应用的地址都是WEB应用映射地址哟,不是物理地址。
例如:d:\youapp\webapps\youapp\imags\abc.jpg 对应的映射地址应该是:http://localhost:8080/images/abc.jpg
保存可以只保存“/images/abc.jpg”,在本应用内部可以查看;
但是外部应用,本机上的:必须添加http://localhost:8080/前缀;非本机的,必须使用全局IP和端口哦。

#13


为什么这种过去一年的帖子还翻出来

#1


C:\apache-tomcat-6.0.43\webapps\mmw\WEB-INF\cImage\1\11\a.jpg  是本地地址,不是网络地址。

数据库中存放的是图片的地址,存放的方法是:this.getServletContext().getRealPath("/WEB-INF/cImage") 加上 图片的名字作为地址。
既然你已经明白怎么存储了,怎么会有 
现在假如有一张图片已经存入数据库,它的地址在数据库中显示的是:C:\apache-tomcat-6.0.43\webapps\mmw\WEB-INF\cImage\1\11\a.jpg

#2


你应该在你的数据库存去照片的相对不路径而不是绝对路径,最好是照片传过来后修改下路径在放进去

#3


存的时候 没存好 

#4


数据库存后面的就够了\cImage\1\11\a.jpg 

#5


存这个
\cImage\1\11\a.jpg
就可以了,这个就算绝对路径,你的路径定义搞错了吧!!

#6


<img  src = "${contextPath }/static/image/index-login.png" 

知道${contextPath }是啥意思吗

可以用这个 ${pageContext.request.contextPath } 当然也可以在jsp中自己构建

#7


你现在不显示图片的问题是,这个路径下没有这图片。另外存在数据库的时候只需要存一个图片的名称,路径可以固定写在程序中或配置文件里,你这样写图片还怎么转移到其他地方?批量修改数据库???

#8


WEB_INF 下面不能直接访问,
两个方案:一、把图片从WEB_INF 下拿出来,重新这只路径。

二、已请求的方式加载图片,否者就会报错 。

#9


你看一下页面最上面有没有一个有关<a></a>的一个链接设置  那个东西会使你整个页面的链接前面都有一个默认的路径

#10


你只需要存cImage\1\11\a.jpg到数据库,在controller类中获取url路径例如:imageurl就是那cImage\1\11\a.jpg,然后imageurl="../"+imageurl就是网络路径了

#11


lz解决问题了吗,我也遇到这样的问题了,我写的是相对路径<img src="<s:property value="item.file"/>"/>其中item.file=../UploadImages/3551150793.jpg但是我存图片是存在C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\sale\UploadImages\1464684372553.jpg 这个下面的,所以页面加载不出来图片怎么解决

#12


B/S应用的地址都是WEB应用映射地址哟,不是物理地址。
例如:d:\youapp\webapps\youapp\imags\abc.jpg 对应的映射地址应该是:http://localhost:8080/images/abc.jpg
保存可以只保存“/images/abc.jpg”,在本应用内部可以查看;
但是外部应用,本机上的:必须添加http://localhost:8080/前缀;非本机的,必须使用全局IP和端口哦。

#13


为什么这种过去一年的帖子还翻出来