多項目共享圖片方案,先後端分離上傳方案,跨域上傳文件方案,js-php跨域訪問

一個項目怎麼都好說,如先後端分離或多個項目公用一個圖片文件時就會出現種種問題。php

方案1: 各自上傳,圖片路徑寫爲絕對路徑thinkphp

方案2: 都走一個上傳路徑,即多個項目文件上傳都走一個方法,上傳至同一個文件夾,顯示時加上域名便可。可單首創建一個圖片服務器或項目a,b,c都走項目a的上傳方案,全部文件傳入至項目a的圖片文件夾。顯示時添加上項目a的域名路徑便可。json

方案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返回地址。dom

此時須要配置crossdomain.xml文件,將此文件放置到項目根目錄或入口文件(如thinkphp的public下)同級目錄下。下附xml文件內容編輯器

<?xml version="1.0"?>
<cross-domain-policy>
<!-- 設置容許訪問域名 * 爲通配符,即quwen.com頂級域名下全部二級域名都可訪問。 -->
    <allow-access-from domain="*.quwen.com" />
</cross-domain-policy>
相關文章
相關標籤/搜索