一个项目怎么都好说,如前后端分离或多个项目公用一个图片文件时就会出现种种问题。
方案1: 各自上传,图片路径写为绝对路径
方案2: 都走一个上传路径,即多个项目文件上传都走一个方法,上传至同一个文件夹,显示时加上域名即可。可单独创建一个图片服务器或项目a,b,c都走项目a的上传方案,所有文件传入至项目a的图片文件夹。显示时添加上项目a的域名路径即可。
方案3:麻烦点,项目a,b,c的图片文件互相映射。没搞过,只是个思路。
方案4:用iframe方式。在项目b加载项目a的iframe上传页面进行上传,再将返回的地址绑定至b项目表单内提交。实现方式不同,原理同方法2
推荐用方案2,比较方案也实用。如使用编辑器如百度ue等的话修改config文件内imageUrlPrefix添加前缀即可。
--涉及跨域问题--
方法2会涉及到跨域问题,我是在a站用js将图片流推到b站,b站上传后将目录返回至a站。这里涉及到js和php的a,b站跨域问题。当然你也可以推到a站的php,然后通过a站的php程序推到b站的php接口上,我嫌麻烦直接在a站用js推到b站的php接口上,用json返回地址。
此时需要配置crossdomain.xml文件,将此文件放置到项目根目录或入口文件(如thinkphp的public下)同级目录下。下附xml文件内容