富文本框編輯器實現:a、支持圖片複製粘貼;b、支持word複製粘貼圖文。

Chrome+IE默認支持粘貼剪切板中的圖片,可是我要發佈的文章存在word裏面,圖片多達數十張,我總不能一張一張複製吧
Chrome高版本提供了能夠將單張圖片轉換在BASE64字符串的功能。可是沒法處理多張圖片。並且轉換成BASE64後是做爲內容一塊兒提交給服務器,不可以將圖片單獨保存在另一臺服務器中。若是須要單獨保存則須要自已進行處理。比較麻煩。

我但願打開Word或者WPS文檔後,複製內容而後直接粘貼到富文本編輯器中,編輯器自動將圖片批量上傳到服務器中,不管文檔中有多少張圖片,編輯器都所有自動上傳,不須要再手動一張張處理。同時可以將圖片上傳到我指定的接口中,服務器須要將圖片單獨保存在存儲服務器中,好比多是雲存儲,或者是分佈式存儲,最後直接發佈內容。

html

感受這個彷佛很困難,由於Ueditor自己不支持,粘貼後直接就是空白,這裏面必定有緣由。web

好,開始嘗試UMeditor,Chrome只能得到本地路徑,沒法讀取文件。服務器

https://ueditor.baidu.com/website/umeditor.html(有興趣能夠試試)編輯器

 

 

難道就這麼失敗了?分佈式

,可是我意外發現UMeditor居然支持粘貼word中的多張圖片(僅支持IE11,不支持IE10如下版本、以及Chrome等)wordpress

切換HTML,會看到你的圖片被組織成base64 url


nice,機會來了,既然IE支持複製word中的多張圖片直接粘貼base64,既然有了base64咱們就有辦法上傳轉圖片啦!spa

那麼咱們來改造Ueditor,讓他支持IE11(總比沒得用強吧)htm

打開你的ueditor.all.js(1.4.3版本如下行號根據本身使用的版本可能不一樣)blog

1、註釋掉14679行(暫時不明確有什麼不良影響)

//執行默認的處理

//me.filterInputRule(root);

2、在28725行插入如下代碼(若是是使用IE11粘貼會獲得base64,先用佔位符佔位,再逐個把base64專成Blob文件並上傳,上傳完成再替換爲你的img屬性src爲服務器圖片url)

服務端上傳代碼

 

處理後的效果,可以批量上傳word中全部的圖片,真的是太方便了。不管多少張圖片均可以一次性批量上傳。這個功能真的是太方便了,大幅度提高了內容編輯人員的效率。之前一天只能發佈一篇文章,如今可以發佈100篇,這效率簡直提高了100倍呀。

 

圖片上傳後保存在服務器端。並且也能夠指定上傳接口地址,這個也比較方便。由於咱們的業務是將圖片保存在單獨的雲存儲服務器中。

 

3、處理ueditor提供的uploadimage方法

客戶已經使用半年,沒有問題,很是有用,很是方便的功能

有須要的朋友能夠下載:http://blog.ncmem.com/wordpress/2019/08/07/ueditor複製word圖片粘貼上傳-2/