vue中實現ueditor上傳圖片遇到的幾個問題及解決方案
阿新 • • 發佈:2019-01-22
vue中實現ueditor上傳圖片功能
遇到的問題
初始化ue元件無法正常顯示,無法載入
單圖上傳的圖示變灰無法點選 or 多圖上傳顯示
後端配置項沒有正常載入,上傳外掛不能正常使用!
配置上傳介面錯誤,請求報
404
,無法找到上傳後,服務端顯示上傳成功,並返回正確的json結果,但在ueditor中
無法回顯
圖片並報上傳錯誤
解決方案
在
ueditor.config.js
中配置:在
var URL = window.UEDITOR_HOME_URL || getUEBasePath();
之前加上相對於本專案UE(官網下載的資料夾)的位置,如本專案是window.UEDITOR_HOME_URL = '/static/UE/'
|-- B2B-PC-VUE2 | |-- static | |-- UE
window.UEDITOR_HOME_URL = '/static/UE/'; var URL = window.UEDITOR_HOME_URL || getUEBasePath();
config.json
應動態載入,由服務端返回(根據服務端上傳圖片成功返回圖片url是否完整選擇是否修改config.json
中圖片訪問字首)由於本專案旨在前後端分離,全部採用介面模式訪問,故在
ueditor.config.js
配置介面路徑serverUrl
時,不應根據專案位置去找controller
,而是訪問的介面全路徑,如下:
(http://localhost:3000
/** * 配置項主體。注意,此處所有涉及到路徑的配置別遺漏URL變數。 */ window.UEDITOR_CONFIG = { //為編輯器例項新增一個路徑,這個不能被註釋 UEDITOR_HOME_URL: URL // 伺服器統一請求介面路徑 , serverUrl: "http://localhost:3000/ue/upload"
此番斷點到
ueditor.all.js
檔案中callback
回撥方法中iframe值返回正確,但一直取不到body
值,上傳返回的json值便放在body中,幫而一直回顯不了,其實圖片已經上傳成功了。這是跨域
ueditor.config.js
配置介面路徑serverUrl
時應為代理模式,改為以下介面路徑:
(注:其中/api
是vue專案中使用webpack做的proxy代理)/** * 配置項主體。注意,此處所有涉及到路徑的配置別遺漏URL變數。 */ window.UEDITOR_CONFIG = { //為編輯器例項新增一個路徑,這個不能被註釋 UEDITOR_HOME_URL: URL // 伺服器統一請求介面路徑 , serverUrl: "/api/ue/upload"