圖片上傳的跨域問題的幾種解決方案和細節及優缺點
阿新 • • 發佈:2019-02-08
方案一 傳到前端伺服器本地,然後用伺服器跨域
ajaxSubmit方式,需要jquery.form.min.js外掛
$("#imgUploadForm").ajaxSubmit({ type: "POST",//提交型別 dataType: "json",//返回結果格式 url: '/php/temporary/Controller/aotuTailorUploadController.php',//請求地址 data: { "orientation": Orientation},//請求資料 success: function (data) {//請求成功後的函式 }, error: function (data) { /*console.log(JSON.stringify(data));*/ },//請求失敗的函式 async: true });
傳到本地,然後再傳到圖片伺服器.缺點:速度慢,通用性差.
方案二 uploadify外掛.
flash外掛跨域.具體用法google.缺點:不支援手機端,使用了flash.
伺服器端設定.在xml中設定能夠跨域的白名單即可
方式三 plupload外掛
支援h5手機端使用
伺服器端設定.多個網站可以上傳
$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : ''; $allow_origin = array( 'http://client1.runoob.com', 'http://client2.runoob.com' ); if(in_array($origin, $allow_origin)){ header('Access-Control-Allow-Origin:'.$origin); }