MyEclispe 制作的jsp可以把文件上传到tomcat文件夹下面,但是我该如何通过jsp访问这个文件夹下面的图片.在apache文件夹下是上传成功的。
前段时间好像也遇见过这个问题,后面问了大神也不懂该怎么解决,唉
路径访问,绝对路径或者相对路径
我直接是通过struts2做文件的上传和下载的
因为浏览器是不能直接访问本地文件夹的,存在安全问题。如果文件是在tomcat目录下,也可以使用相对路径获取。但看你的路径是在C盘下,如果是其他路径,通常是通过tomcat配置路径映射。具体操作,请自行百度。
首先我要告述你相对路径和绝对路径,一般来说网页中访问数读取的相对路径,但是你访问的是绝对路径,那么问题来了,
GSGS\admin\product\productimage这个目录肯定是你根目录下面的一个路径是吧,那么我们访问里面的一张图片应该是
src="http://xxx.com/GSGS/admin/product/productimage/xxx.jpeg",这个样子网页才可以访问到的。所以一般存图片的时候你要在数据库里存图片
的相对路径,这个相对路径是相对于项目根目录的,而你存图片的时候是存的绝对路径,我们都知道java的io都必须用绝对路径的,
request.getRealPath(),这个函数不知道你用过没,这个就是用于获取根目录下文件的绝对路径,比如说你刚才的这个目录,就该是
request.getRealPath("/GSGS/admin/product/productimage")就可以获得文件的绝对路径,然后存入图片。大致是这个样子不知道有没有帮助到你
服务器上的图片是可以直接相对路径显示出来的
String realPath = request.getSession().getServletContext().getRealPath("/"); //当前应用目录
String webapps = new File(realPath).getParent(); //Tomcat中webapps目录
File upload = new File(webapps, "upload"); //新建逻辑目录
if(!upload.exists()){ //实际创建
upload.mkdirs();
}