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(總比沒得用強吧)3d
打開你的ueditor.all.js(1.4.3版本如下行號根據本身使用的版本可能不一樣)htm
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/10/12/%e5%a6%82%e4%bd%95%e6%8a%8aword%e6%96%87%e6%a1%a3%e5%86%85%e5%ae%b9%e5%92%8c%e5%9b%be%e7%89%87%e7%9b%b4%e6%8e%a5%e5%af%bc%e5%85%a5%e5%88%b0wordpress%e7%bc%96%e8%be%91%e5%99%a8/