最近在做一個(gè)項(xiàng)目,需要實(shí)現(xiàn)類似QQ截圖后,就是能夠在富文本編輯器中粘貼截圖并預(yù)覽。
先看一下效果:
分析一下實(shí)現(xiàn)步驟:
QQ截圖后在編輯器中粘貼,肯定會(huì)有一個(gè)粘貼事件,即
paste
事件在事件回調(diào)函數(shù)中對(duì)前端進(jìn)行圖片的一次壓縮
前端壓縮多是使用canvas,返回的是base64,這里我使用了一個(gè)
localResizeIMG.js
的插件將生成好的base64傳給后臺(tái),后臺(tái)可以進(jìn)行圖片的第二次壓縮,但是感覺沒必要
后臺(tái)先得到七牛云的upToken,即一個(gè)上傳的憑證,然后執(zhí)行七牛sdk提供的上傳函數(shù)
接下來,一步步的來實(shí)現(xiàn):
瀏覽器paste
事件
這個(gè)paste
事件的兼容性不是很好,但是可以對(duì)用戶做友好提示,如果不能使用剪切板事件的話,就在dialog中上傳圖片也是可以的。