javascript - 一般本文編輯器里面的粘貼圖片的實(shí)現(xiàn)步驟是怎樣的?
問(wèn)題描述
我們公司需要用到一款編輯器,里面需要粘貼圖片并上傳到服務(wù)器端;想了解一下怎么實(shí)現(xiàn)截圖粘貼,然后上傳服務(wù)器的方法,求大神解惑!!
問(wèn)題解答
回答1:在input或textarea監(jiān)聽(tīng)paste事件。
獲取剪貼板的圖片文件;
利用FileReader 讀取文件dataurl 用于預(yù)覽,如果需要的話。
調(diào)用上傳接口,直接上傳即可。
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中的數(shù)據(jù):Blob對(duì)象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();//這里可以調(diào)用上傳接口,直接上傳。我這里是業(yè)務(wù)關(guān)系,需要通過(guò)對(duì)話框來(lái)預(yù)覽拷貝的圖片,然后在對(duì)話框內(nèi)再上傳。 }, $rootScope);};reader.readAsDataURL(file); }});
相關(guān)文章:
1. python - Django內(nèi)使用filter過(guò)濾時(shí)間,只認(rèn)年份不認(rèn)月份是怎么回事?2. javascript - 求助這種功能有什么好點(diǎn)的插件?3. css - div內(nèi)部滾動(dòng),安卓沒(méi)有滾動(dòng)條(非body滾動(dòng)),有什么辦法可以顯示嗎?4. javascript - 關(guān)于一段 for 循環(huán)代碼執(zhí)行順序的問(wèn)題5. python - 如何對(duì)列表中的列表進(jìn)行頻率統(tǒng)計(jì)?6. Android Chrome忽略-webkit-text-size-adjust:none屬性。縮小文字時(shí),文字會(huì)被縮放7. python - Push Notification推送服務(wù)在手機(jī)上測(cè)試時(shí)候無(wú)法收到生產(chǎn)環(huán)境的推送8. html5 - angularjs中外部模版加載無(wú)法使用9. javascript - vue中父組件向子組件傳遞Object時(shí),如何避免TypeError?10. javascript - mac sourcetree 如何查看某個(gè)版本的全部文件?
