欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

ueditor富文本編輯器實(shí)現(xiàn)跨域上傳圖片的方法

ueditor富文本編輯器實(shí)現(xiàn)跨域上傳圖片的方法?這個(gè)問(wèn)題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見(jiàn)到的。希望通過(guò)這個(gè)問(wèn)題能讓你收獲頗深。下面是小編給大家?guī)?lái)的參考內(nèi)容,讓我們一起來(lái)看看吧!

讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請(qǐng)、雅安服務(wù)器托管、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、三江侗網(wǎng)站維護(hù)、網(wǎng)站推廣。

在使用百度富文本編輯器上傳圖片的過(guò)程中,如果是有一臺(tái)單獨(dú)的圖片服務(wù)器就需要將上傳的圖片放到圖片服務(wù)器,比如在a.com的編輯器中上傳圖片,圖片要保存到img.com,這就涉及到跨域上傳圖片,而在ueditor官方文檔中說(shuō)不支持單圖上傳的跨域,網(wǎng)上查了一下各種花里胡哨,一頓操作猛如虎,比如加document.domain,配置全域名的等等都是然并卵,沒(méi)搞清楚什么是跨域就敢定義為跨域,仔細(xì)研究了一下ueditor的demo文件,想出了一個(gè)折中辦法,很簡(jiǎn)單只需要修改demo中兩個(gè)地方的代碼外加寫(xiě)一個(gè)上傳接口即可:

首先引入頁(yè)面ueditor編輯器,這里不多說(shuō),可以參考之前的一篇文章:Html怎么插入百度富文本編輯器ueditor ,這里默認(rèn)你已經(jīng)實(shí)現(xiàn)了ueditor的引入如下圖:

ueditor富文本編輯器實(shí)現(xiàn)跨域上傳圖片的方法

1.此時(shí)你上傳的圖片都是保存在本地的,如果想要跨域傳到其它服務(wù)器,需要在ueditor/php/config.json配置文件中的圖片配置項(xiàng)imageUrlPrefix加上域名,這樣你在上傳完圖片之后返回給你的就是全路徑的圖片,在任何地方都可以顯示,我這里以客戶(hù)端a.com通過(guò)編輯器上傳圖片到img.com上,所以imageUrlPrefix配置為http://img.com,注意必須是帶http://的全域名:

ueditor富文本編輯器實(shí)現(xiàn)跨域上傳圖片的方法

2.修改完訪問(wèn)路徑還需要修改ueditor/php/Uploader.class.php文件,找到 upFile()方法,此方法就是demo中上傳文件的主處理方法,修改這個(gè)上傳方法比做什么代理頁(yè)面、加js什么的更簡(jiǎn)單也更好理解,就算多個(gè)頁(yè)面引入也沒(méi)得問(wèn)題:

  private function upFile()
    {
        $file = $this->file = $_FILES[$this->fileField];
        if (!$file) {
            $this->stateInfo = $this->getStateInfo("ERROR_FILE_NOT_FOUND");
            return;
        }
        if ($this->file['error']) {
            $this->stateInfo = $this->getStateInfo($file['error']);
            return;
        } else if (!file_exists($file['tmp_name'])) {
            $this->stateInfo = $this->getStateInfo("ERROR_TMP_FILE_NOT_FOUND");
            return;
        } else if (!is_uploaded_file($file['tmp_name'])) {
            $this->stateInfo = $this->getStateInfo("ERROR_TMPFILE");
            return;
        }

        $this->oriName = $file['name'];
        $this->fileSize = $file['size'];
        $this->fileType = $this->getFileExt();
        $this->fullName = $this->getFullName();
        $this->filePath = $this->getFilePath();
        $this->fileName = $this->getFileName();
        $dirname = dirname($this->filePath);

        //檢查文件大小是否超出限制
        if (!$this->checkSize()) {
            $this->stateInfo = $this->getStateInfo("ERROR_SIZE_EXCEED");
            return;
        }

        //檢查是否不允許的文件格式
        if (!$this->checkType()) {
            $this->stateInfo = $this->getStateInfo("ERROR_TYPE_NOT_ALLOWED");
            return;
        }

        //創(chuàng)建目錄失敗
        if (!file_exists($dirname) && !mkdir($dirname, 0777, true)) {
            $this->stateInfo = $this->getStateInfo("ERROR_CREATE_DIR");
            return;
        } else if (!is_writeable($dirname)) {
            $this->stateInfo = $this->getStateInfo("ERROR_DIR_NOT_WRITEABLE");
            return;
        }

        //移動(dòng)文件
        if (!(move_uploaded_file($file["tmp_name"], $this->filePath) && file_exists($this->filePath))) { //移動(dòng)失敗
            $this->stateInfo = $this->getStateInfo("ERROR_FILE_MOVE");
        } else { //移動(dòng)成功
            $this->stateInfo = $this->stateMap[0];
        }
     /**
      *此處上面的代碼都是demo內(nèi)的源代碼不需要改,下面才是我加上的需要敲黑板劃重點(diǎn)的地方,說(shuō)一下思路,上面的代碼會(huì)在本地生成上傳的圖片內(nèi)容,然后我們就可以拿到上傳的文件的全路徑,
      *拿到全路徑再調(diào)用事先封裝好的上傳接口上傳到圖片服務(wù)器即可,由于第一步配置了圖片服務(wù)器的域名,所以最后返回給編輯器窗口的圖片路徑已經(jīng)是帶域名的全路徑啦
      */
     $imgPath = '@'.$dirname.'/'.$this->fileName;//獲取生成的本地文件完整路徑
      
     //發(fā)送請(qǐng)求的參數(shù)
     $data = [
            'myFile'=>$imgPath,
            'imgType'=>4
        ];
     $serverUrl = 'http://img.com/api/image.action'; //請(qǐng)求地址
        $ch = curl_init(); //初始化
        curl_setopt($ch, CURLOPT_URL, $serverUrl);   
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        //https協(xié)議需要以下兩行,否則請(qǐng)求不成功
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        //post方法所需要的參數(shù)
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array());
        $result = curl_exec($ch);
        curl_close($ch);

        $result = json_decode($result,true); //將接口返回的json數(shù)據(jù)轉(zhuǎn)為數(shù)組
        $this->fullName = $result['imgUrlNormal']; //重置要返回給編輯器窗口的圖片路徑,這一步可以讓圖片在編輯器內(nèi)正常顯示圖片
    }

3.改完這兩個(gè)地方之后,再自己寫(xiě)一個(gè)上傳圖片的接口啦,將上面的請(qǐng)求地址緩存你的接口地址,比較簡(jiǎn)單也有一堆的例子,我這里就不貼出來(lái)了,這樣三步下來(lái)不出意外已經(jīng)可以跨域上傳圖片了,無(wú)論是單圖還是多圖都可以,既簡(jiǎn)單好理解又方便?。?!

感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)ueditor富文本編輯器實(shí)現(xiàn)跨域上傳圖片的方法大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁(yè)題目:ueditor富文本編輯器實(shí)現(xiàn)跨域上傳圖片的方法
鏈接分享:http://aaarwkj.com/article8/pjceop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、移動(dòng)網(wǎng)站建設(shè)、外貿(mào)建站網(wǎng)站設(shè)計(jì)、網(wǎng)站改版、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
日韩av中文一区二区| 日韩网激情视频在线观看| av中文字幕一二三区| 免费精品黑人一区二区三区| 羞涩插射视频网站在线观看| 丰满少妇诱惑在线观看| 午夜少妇久久久久久久久| 日本区一区二区三高清视频| 欧美日韩精品福利一区二区| 国产精品欧美日韩一区| 国产美女作爱视频网站| 日韩一区二区亚洲精品| 日本美女午夜福利视频| 日韩黄色成人在线观看| 国产精品熟女在线视频| 国产精品福利午夜在线| 啊啊…嗯嗯…用力免费观看视频| 国产剧情av专业在线观看| 女人裸体网站无遮挡午夜| 国产午夜精品福利爽爽| 四虎久久久最新网址| 日韩中文字幕在线二区| 日本乱码一区二区三区在线观看| 亚洲香蕉在线视频免费| 青青久久精品国产亚洲av| 99热这里只有精品56| 91欧美日韩中在线视频| 久久久久久国产综合精品| 亚洲精品自拍一二三四区| 精品国产美女主播在线| 国产91精品成人在线观看| 人妻少妇麻豆中文字幕久久精品| 日韩女同一区二区三区在线观看| 日韩高清伦理一区二区| 亚洲欧美日本国产一区| 国产精品久久久久久久亚洲| 久久久精品人妻免费网站| 午夜性色在线视频福利| 一卡二卡三卡四卡日韩| 亚洲av色香蕉一区二区| 亚洲欧洲国产视频一区二区|