关于web项目中的图片上传、并在前端显示问题(tomcat中配置文件上传虚拟路径)
一、数据库存储
直接把图片的二进制码存到数据库,可参考blog:https://www.geek-share.com/detail/2349812420.html
直接存图片在mysql上面有两点好处:
1.比较容易做取重,就是相同的图片只存一份.
2.最重要备份使用数据库的备份方式简单.
3.容易管理,去掉无用的图片等.
缺点:
1.不适合超大量存储,数据的存储越大,恢复越麻烦
2.当然一般还是需要前端做更多的物理缓存,而不是靠mysql来直接输出.
还是看需求,如果图片是小图片,像论坛使用的,并且需要注重他的优点的可以使用,至于量没有具体的,你要想想如果数据库遇到问题,
它的重做和迁移是否方便的问题.其实如果不是特殊情况一般存在数据库里都不是好的选择.平衡他的优缺点.
二、webRoot下存储
利用上床组件把图片上传到web项目下,再存储图片的相对路径到数据库表中,需生成一个新的不会重复的图片名
缺点:显而易见重新部署项目前需要重新把已上传的图片备份,待部署成功后拷贝到web项目下
三、web项目外存储
顾名思义,把图片上传到web目录外
1.建立存放图片的目录和web项目下一目录之间的联系
例如:①Linux系统下,首先把图片上传到项目外一目录;
②然后把此目录挂载到项目内某一目录下mount --bind 实际存放图片目录项目内某一目录;
③然后把上传图片的相对路径存储到数据库表中;
④最后在项目中直接访问这个URL获取图片。
注意:第一存放图片的目录需有上传权限;
第二在重新部署时,undeploy前先解除挂载umount 实际存放图片目录项目内某一目录;
待项目上传成功后再重新建立挂载,否则在undeploy时可能丢失已上传的图片。
缺点:每次部署前后要进行挂载,解挂载操作,易误操作丢失资源
2.配置虚拟路径
例如使用tomcat时:
首先把图片上传到项目外一目录下;然后在tomcat中配置一个虚拟路径指向上传目录命名为 "/fileUpload" (在/conf/server.xml下配置Context即可);
然后把上传图片的相对路径存储到数据库表中,再在程序中通过访问这个虚拟路径 "/fileUpload" + 数据库中存储的相对URL 来获取文件资源;
(其实相当于在tomcat下重新启动了一个web项目,然后通过访问此web项目下的图片资源,
这样其实也可以通过 http://ip:port/webProject/ resourse)。
解决:可以使用tomcat的配置文件将某个请求映射到物理路径下 ,完成图片的回显。
例子:
1.修改tomcat的配置文件(window环境),
首先找到tomcat目录下conf目录下的server.xml文件,在server.xml文件中找到<Host></Host>;
[code]"/uploadfile"
然后在其中加上这
<Context path=
docBase=
"D:\File\imager"
></Context>。
如:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log."
suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> <!-- 下面两条主要是tomcat转发图片请求到相应的电脑物理磁盘位置 --> <Context path="/uploadfile" docBase="D:\File\imager"></Context> </Host>
tomcat在的请求一般为:http:
//localhost:8080/uploadfile/abc.jpg。配置完重启之后,该请求
自动跳转到物理路径D:\File\imager下查找。会访问本机的D:\File\imager\abc.jpg。
注意:在启动完tomcat后会报路径“D:\File\imager”找不到的bug,这是因为:tomcat不会自动帮您创建相关的文件路径,需要我们自己先创建好相应的文件路径。
- java web上传文件至非项目路径并配置tomcat虚拟路径进行下载
- java上传文件到磁盘中,设置tomcat虚拟路径进行访问,解决重布项目图片消失问题
- javaweb上传文件时在tomcat配置虚拟路径
- jsp网页在浏览器中不显示图片_eclipse环境下配置tomcat中jsp项目的虚拟路径
- Javaweb上传图片或文件到服务器,Tomcat服务器重新部署项目,会删除原来上传的文件的问题
- Tomcat项目发布的三种方式;一种:直接将项目(文件)直接复制到tomcat/webapps下二种:在tomcat/conf/server.xml配置tomcat的虚拟路径;
- 关于web项目中的图片上传、并显示问题
- jsp网页在浏览器中不显示图片_eclipse环境下配置tomcat中jsp项目的虚拟路径
- tomcat虚拟路径的实践---javaweb项目上传视频,图片到任意磁盘文件夹
- 关于web项目web.xml配置文件路径的问题。
- 关于web项目中的图片上传、并显示问题
- 关于【apache- tomcat- 5.5.15/conf /Catalina/localhost配置虚拟目录】时的一些问题。(配置web项目的方式不止一种,虚拟目录就是一个)
- 关于【apache- tomcat- 5.5.15/conf /Catalina/localhost配置虚拟目录】时的一些问题。(配置web项目的方式不止一种,虚拟目录就是一个)
- WEB开发文件上传存储,虚拟路径配置问题。
- 关于JavaWeb(一)——web介绍,tomcat与安装及其常见问题,虚拟目录及其配置虚拟主机
- java web-上传文件到tomcat服务器上路径问题
- Tomcat配置虚拟路径,使上传文件与服务器及工程文件分离
- 关于最近项目中配置tomcat7.0.6的多个虚拟目录路径的解决方法的记录
- eclipse中web项目部署以后jsp的java文件找不到问题(Tomcat配置serverlocations)
- 关于intellij14的web项目导入lib丢失以及上传资源图片等无法访问的问题