天天看點

百度編輯器(ueditor)不支援上傳圖檔到獨立伺服器?百度編輯器(ueditor)不支援上傳圖檔到獨立伺服器?

項目用到了百度編輯器,感覺很高大上,突然發現這貨上傳的圖檔時,它總會放到目前項目的目錄下,它的配置檔案config.json

這裡這個imagePathFormat就是儲存路徑了,它會預設在這個路徑前面拼上一個根目錄,是以你傳的檔案都被放在根目錄下。

但實際上,稍微大一點的項目都會考慮将圖檔上傳到圖檔伺服器上,用nginx來通路,而nginx一般會配置一個目錄來存放圖檔但這個位置肯定不會在你上傳圖檔的這個項目裡,對吧。也就是說,你必須把圖檔上傳到web項目以外的某個路徑下,可是,百度編輯器不支援你這樣做,隻能呵呵了~

可是咋有源碼呀,我相信改改路徑總是不難。

ueditor1_4_3-src\jsp\src就是ueditor-1.1.1的源碼了,于是我單獨建了個工程,把這些源碼加進來,加了幾個依賴包,就沒有錯誤了,我搜尋了一下imagePathFormat

在ConfigManager.java裡面發現了它,它被存成savePath這個變量了,而被調用的地方在ActionEnter.java中

百度編輯器(ueditor)不支援上傳圖檔到獨立伺服器?百度編輯器(ueditor)不支援上傳圖檔到獨立伺服器?

進去看

百度編輯器(ueditor)不支援上傳圖檔到獨立伺服器?百度編輯器(ueditor)不支援上傳圖檔到獨立伺服器?

再看save函數

百度編輯器(ueditor)不支援上傳圖檔到獨立伺服器?百度編輯器(ueditor)不支援上傳圖檔到獨立伺服器?

找到存儲的地方了,上面可以看到physicalPath是怎麼來了。現在就很簡單了,你隻需要改變physicalPath這個玩意就行了,我的想法是,在配置檔案裡面加一個配置項:

百度編輯器(ueditor)不支援上傳圖檔到獨立伺服器?百度編輯器(ueditor)不支援上傳圖檔到獨立伺服器?

然後按讀取其它配置項的方法一樣,把它讀出來,在程式添加項目根目錄的時候改成拼上這個新增的配置項,這樣,最後肯定就能儲存到想要儲存的目錄了。

事實上也就是這樣的。