怎么利用struts2 把上传到磁盘目录下的图片,显示到jsp页面

邓易平 发布于 2013/08/14 10:01
阅读 4K+
收藏 2

我测试了 在<img 标签里面貌似不能直接写磁盘路径下的图片资源  会访问出错哦,如果是在服务器上面的工程目录下就可以。如果我知道图片在磁盘的存储路径,是不是需要重构文件,以流的形式给到jsp页面上去 显示呢

 

加载中
0
乌鸦哥
乌鸦哥

引用来自“巴郎”的答案

 在tomcat配置一个静态服务器,路径指向你图片的地址,然后就可以显示了

我的意思是,比如你用tomcat 你就在server.xml 里面配置一个  

 path="/images" docBase="你的图片磁盘地址"

然后tomcat http://127.0.0.1:port/images/图片 

就可以访问了

你在<img> 里指定src即可,在上传的时候还是一样记录地址,在下发的时候把地址替换一下就可以了 

0
等PM
等PM
可以直接设置成完整路径的:应用服务器的路径+图片所在位置路径,还是可以的
0
cxshun
cxshun

直接磁盘路径下的图片资源?按我理解是楼主你上传的文件夹不在项目文件夹内,是这样吗?

如果是这样,貌似你只能新建另外一个站点,来专门针对图片的查看了。

如果在当前项目文件夹内,那直接src指定到当前项目的相应文件夹内就OK了。以流的形式写到JSP上去,一般都只会在验证码图片的时候使用,显示图片一般不建议这样用了。

0
乾坤摄
乾坤摄
你把图片传到你的,img 下,在拼一个url 访问它就行了
乾坤摄
乾坤摄
回复 @邓易平 : 项目下的一个目录
邓易平
邓易平
可以具体些么,把图片传到我的img 是指?传文件,还是路径
0
James11
James11

需求跟你差不多我是这样做的。

   PrintWriter out=response.getWriter();
   if(path.indexOf(":")==-1)
   out.println("<img src='"+path+"' key="+id+" >");

我上传是通过IFrame上传的  然后图片返回到IFrame  上传完就去IFrame取图片

邓易平
邓易平
恩 ,我这个不是上传完就显示,我是有很多张图片,然后回头在页面全部展示。我使用的基于struts2 的上传
0
乌鸦哥
乌鸦哥
 在tomcat配置一个静态服务器,路径指向你图片的地址,然后就可以显示了
邓易平
邓易平
配置一个静态服务器?不可以直接读文件 然后返回一个流对象到jsp么
0
你要爪子
你要爪子
这个路径映射过去不行吗?把你存图片的物理路径映射到web路径上?
邓易平
邓易平
怎吗映射呢
0
我已经报警了
我已经报警了

图片目录:/data/pic

web目录:/usr/server/tomcat/webapps/project

linux下面做个连接,把/data/pic映射到/usr/server/tomcat/webapps/project/pic 下面就好咧

0
V-Perfect
V-Perfect

感谢楼上巴郎这位朋友的提示。。刚才去网上看了下也试了下,流肯定是可以的,网上一搜一大把,我刚刚尝试的方法是在tomcat的$CATALINA_HOME\conf\Catalina\localhost路径下面,新建一个XML文件XXX.XML,并包含这句代码<Context docBase="图片文件夹绝对路径" reloadable="true" />,JSP上面直接<img src="/XXX/xx.png">即可,缺点就是所有tomcat下的项目都可以访问。。

邓易平
邓易平
哎哟 小伙子,家里闲着无聊呢 呵呵
0
邓易平
邓易平

引用来自“巴郎”的答案

引用来自“巴郎”的答案

 在tomcat配置一个静态服务器,路径指向你图片的地址,然后就可以显示了

我的意思是,比如你用tomcat 你就在server.xml 里面配置一个  

 path="/images" docBase="你的图片磁盘地址"

然后tomcat http://127.0.0.1:port/images/图片 

就可以访问了

你在<img> 里指定src即可,在上传的时候还是一样记录地址,在下发的时候把地址替换一下就可以了 

感谢巴郎 和水晶英雄 二位,参照两位的思路,解决了访问磁盘路径下文件的问题。我的做法是:在服务器的server.xml下配置<Context docBase="文件磁盘路径" reloadable="true" path="/images"/>,然后通过 

http://localhost:port/images/图片名

返回顶部
顶部