上传的图片怎么存储?(Tomcat 服务器映射目录配置)

在web网站开发的过程中,经常需要有用户上传图片或者视频的场景,那么问题来了,这些图片、视频等数量众多的多媒体文件存在哪里呢?

首先肯定不能存储在项目路径下,这样会使整个项目体积变得庞大,毕竟图片、视频数据很占空间,会给发布,迁移项目带来不便,并且在Eclipse、MyEclipse开发环境下,项目删除之后再重新发布,存储在Tomcat里webapps目录下上传的多媒体文件会丢失。
因此,我目前找到方便快捷的方法是,上传到服务器本地路径下,如“D://webImages”。显然,上传存储的时候是没有什么问题的,按部就班直接存绝对路径。但是读取的时候怎么办呢?
按“D://webImages”肯定是读取不到服务器的本地路径的,这时候就可以利用Tomcat做服务器虚拟地址映射了。方法如下:
1.在tomcat服务器根目录即apache-tomcat-7.0.65\conf\Catalina\localhost目录下创建一个xml文件(conf目录下没有路径就自己创建),然后写入如下内容:



docBase是服务器实际地址,path是访问时候的虚拟地址,注意path必须和xml文件名保持一致否则不成功。docBase路径最后不能加斜杠,否则不成功。
保存新建好的xml文件之后,重启Tomcat,之后在浏览器中通过服务器地址/path/文件名(示例:http://215.18.207.51:8000/Images/QQ截图20171214101808.png)即可访问到存储在服务器本地的资源。

如果是用IntelliJ IDEA直接部署的项目这些修改是不会有效的,因为通过IntelliJ IDEA发布的项目不在Tomcat根目录下,它自己做了整个项目的地址映射,所以如果是用IntelliJ IDEA,请按以下步骤配置虚拟目录
1.点击绿色的+然后选择External Source…
上传的图片怎么存储?(Tomcat 服务器映射目录配置)_第1张图片

2.选择目录
上传的图片怎么存储?(Tomcat 服务器映射目录配置)_第2张图片

你可能感兴趣的:(java)