javascript - 一般本文編輯器里面的粘貼圖片的實現步驟是怎樣的?
問題描述
我們公司需要用到一款編輯器,里面需要粘貼圖片并上傳到服務器端;想了解一下怎么實現截圖粘貼,然后上傳服務器的方法,求大神解惑!!
問題解答
回答1:在input或textarea監聽paste事件。
獲取剪貼板的圖片文件;
利用FileReader 讀取文件dataurl 用于預覽,如果需要的話。
調用上傳接口,直接上傳即可。
element.on(’paste’, function (event) { var e = event.originalEvent, clipboardData = e.clipboardData; if (clipboardData && clipboardData.items[0].type.indexOf(’image’) > -1) {var file = clipboardData.items[0].getAsFile();//讀取e.clipboardData中的數據:Blob對象if(!checkFileSize(file.size)){ Utils.safeApply(function () {$toaster.warning('只允許上傳小于5MB的圖片'); }); return;}var reader = new FileReader();reader.onload = function (e) { Utils.safeApply(function () {$rootScope.sendPicUrl = e.target.result;$rootScope.picFile = file;Chat.showSendPic2Dialog();//這里可以調用上傳接口,直接上傳。我這里是業務關系,需要通過對話框來預覽拷貝的圖片,然后在對話框內再上傳。 }, $rootScope);};reader.readAsDataURL(file); }});
相關文章:
1. javascript - jquery怎么讓a標簽跳轉后保持tab的樣式2. javascript - vue中怎么使用原生js插件3. php多任務倒計時求助4. javascript - 小demo:請教怎么做出類似于水滴不斷擴張的效果?5. javascript - 請問下面代碼中的...是擴展運算符還是操作運算符?這樣寫是什么意思?6. css - autoprefixer沒有添加web-kit前綴7. css - 如何把一個視圖放在左浮動定位的視圖的上面?8. javascript - JS變量被清空9. python的正則怎么同時匹配兩個不同結果?10. javascript - axios請求回來的數據組件無法進行綁定渲染
