前后端分离情况下图片资源管理问题

正在做一个微信商城的项目,在项目的过程中遇到一个问题,商城项目会涉及到很多的图片,不可能所以的图片资源都放在项目当中,因为在系统使用的过程中还会不断的添加图片。

导致该问题的原因有一下几点:1、公司的图片资源没有统一的使用图片服务器;2、客户的域名尚未申请;3、历史遗留问题;4、前后端分离的特殊性。

生于忧患,项目到目前为止还没有交付,如果项目交付的时候,系统的迁移必然是个问题,因为很多的图片资源是随意的被放在公司的测试服务器上的,公司的测试服务器也是不稳定的,因为一些原因图片存储的时候是直接把图片的域名拼接起来存到服务器的。

目前的解决方案为,通过tomcat的server.xml实现虚拟路径的配置,具体的设置如下:

<Context path="/image/src" docBase="D:\demo\File\image" debug="0" reloadable="true" crossContext="true"></Context>

注意将这段配置是放到Host节点下,这样用户在向tomcat所在服务器访问时,如果访问的是/image/src,则会映射到tomcat所在硬盘的的D:\demo\File\image的目录下。

这个解决了图片和项目分离的问题,上传的图片的路径存储的时候无需存储域名,直接存储/image/src/*/png,项目在迁移后,只需修改tomcat的配置文件即可访问。

因为前端使用的SPA,难道需要将图片地址进行拼接么,显然不需要,图片的请求,本质也是一个跨域请求,只需要在前端的跨域调试工具中配置对应的转发规则即可,这就是为什么要设置path="/image/src"的原因。

最后更新于