转载:https://my.oschina.net/pingdy/blog/381001
摘要: 现在一般的项目都可能会涉及文件的上传与下载,那如何管理这些文件呢?做法各有千秋!今天我也分享下我是怎么去管理这些文件的!当然了,这样的方式只适用于文件量小的情况下!如果文件数量非常庞大,那可以考虑一些开源的解决方案! 最初,我们会把一些文件直接放置在服务器中或者是直接放置在工程目录中!这样的好处是访问文件方便,但是也有弊端,个人认为维护性差原因可能有我们的工程可能会频繁的更新,没更新一次就得先保留一份数据,这样是很繁琐的!
使用Tomcat虚拟路径可以达到一个怎样的效果呢?简单说你可以把上传的文件放在你想发的任何一个地方,同时可以自己区分下文件的类型,图片文件专门放一个地方,压缩包文件放另一个地方。其实如何配置非常简单,这里以window环境来说明!
首先找到 tomcat目录下conf目录下的 server.xml文件
在 server.xml文件中找到 <Host></Host>
然后在其中加上这两句
<Context path="/demo/file" docBase="D:\demo\File\file"></Context>
<Context path="/demo/image" docBase="D:\demo\File\image"></Context>
解释下这两句话的意义
以tomcat在本机跑为例 一般是 http://localhost:8080
当你访问
http://localhost:8080/demo/file/xxx.zip
或者是
http://localhost:8080/demo/image/xxx.jpg
的时候,tomcat就会把请求转发,去请求tomcat所在的物理机上的D盘下
D:\demo\File\file下的xxx.zip文件和
xxx.jpg文件
当文件上传的时候只需要把相应的文件存放到相应的目录中在数据库中存放文件的路径:
这里最好在数据库中存放 xxx.zip 或者 xxxx.jpg这样的文件名为什么?
这样更方便服务器迁移!比方说你tomcat服务器需要切换到另一台物理机上,那么原先存放在数据库中的全地址就不可以用了所以,比较好的方法是 服务器地址信息可以使用配置文件来管理,请求文件的全地址就后台拼装好即可,这样就算要做迁移 ,也只是改改配置文件,把文件拷贝一份到新的物理机上,其他无需改!
还有一点需要注意下:
我们在做测试的时候,开发工具都是使用Eclipse,Eclipse有个比较恶心的地方就是每次重新启动tomcat的时候会把tomcat中的配置信息重置一遍!所以导致看不到效果!稍微注意下。
以上纯粹个人愚见,仅供参考!