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
数据库中存放的是图片的地址,存放的方法是: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
就可以了,这个就算绝对路径,你的路径定义搞错了吧!!
\cImage\1\11\a.jpg
就可以了,这个就算绝对路径,你的路径定义搞错了吧!!
#6
<img src = "${contextPath }/static/image/index-login.png"
知道${contextPath }是啥意思吗
可以用这个 ${pageContext.request.contextPath } 当然也可以在jsp中自己构建
知道${contextPath }是啥意思吗
可以用这个 ${pageContext.request.contextPath } 当然也可以在jsp中自己构建
#7
你现在不显示图片的问题是,这个路径下没有这图片。另外存在数据库的时候只需要存一个图片的名称,路径可以固定写在程序中或配置文件里,你这样写图片还怎么转移到其他地方?批量修改数据库???
#8
WEB_INF 下面不能直接访问,
两个方案:一、把图片从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和端口哦。
例如: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
数据库中存放的是图片的地址,存放的方法是: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
就可以了,这个就算绝对路径,你的路径定义搞错了吧!!
\cImage\1\11\a.jpg
就可以了,这个就算绝对路径,你的路径定义搞错了吧!!
#6
<img src = "${contextPath }/static/image/index-login.png"
知道${contextPath }是啥意思吗
可以用这个 ${pageContext.request.contextPath } 当然也可以在jsp中自己构建
知道${contextPath }是啥意思吗
可以用这个 ${pageContext.request.contextPath } 当然也可以在jsp中自己构建
#7
你现在不显示图片的问题是,这个路径下没有这图片。另外存在数据库的时候只需要存一个图片的名称,路径可以固定写在程序中或配置文件里,你这样写图片还怎么转移到其他地方?批量修改数据库???
#8
WEB_INF 下面不能直接访问,
两个方案:一、把图片从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和端口哦。
例如:d:\youapp\webapps\youapp\imags\abc.jpg 对应的映射地址应该是:http://localhost:8080/images/abc.jpg
保存可以只保存“/images/abc.jpg”,在本应用内部可以查看;
但是外部应用,本机上的:必须添加http://localhost:8080/前缀;非本机的,必须使用全局IP和端口哦。
#13
为什么这种过去一年的帖子还翻出来