Ueditor拖拽圖片轉base64
ueditor 中拖拽圖片,預設的是會上傳到伺服器,然後根據伺服器返回的結果來生成一般的<img>標籤。
那麼我需要實現拖拽圖片,生成的是srcData形式的<img>標籤。
1、在uedit的初始化引數中增加一個做 convertImageToBase64Enable。用來控制是按照原來的方式上傳還是用轉換成base64的形式來處理圖片。
2、修改autoupload.js程式碼,重新編譯打包;或者修改umeditor.js中對應位置程式碼。
改動點只有2處(以autoupload.js為例):
a:增加了一個insertBase64Image 的 function。 第15行處
b:根據convertImageToBase64Enable引數來判斷對圖片的處理是上傳還是轉Base64。第71行處。
autoupload.js:
/** * @description * 1.拖放檔案到編輯區域,自動上傳並插入到選區 * 2.插入貼上板的圖片,自動上傳並插入到選區 * @author Jinqn * @date 2013-10-14 */ UM.plugins['autoupload'] = function () { var me = this; me.setOpt('pasteImageEnabled', true); me.setOpt('dropFileEnabled', true); var insertBase64Image = function (file, editor) { var reader = new FileReader(); reader.onload = function (e) { editor.execCommand('insertimage', { src: this.result, _src: this.result }); }; reader.readAsDataURL(file); } var sendAndInsertImage = function (file, editor) { //模擬資料 var fd = new FormData(); fd.append(editor.options.imageFieldName || 'upfile', file, file.name || ('blob.' + file.type.substr('image/'.length))); fd.append('type', 'ajax'); var xhr = new XMLHttpRequest(); xhr.open("post", me.options.imageUrl, true); xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); xhr.addEventListener('load', function (e) { try { var json = eval('(' + e.target.response + ')'), link = json.url, picLink = me.options.imagePath + link; editor.execCommand('insertimage', { src: picLink, _src: picLink }); } catch (er) { } }); xhr.send(fd); }; function getPasteImage(e) { return e.clipboardData && e.clipboardData.items && e.clipboardData.items.length == 1 && /^image\//.test(e.clipboardData.items[0].type) ? e.clipboardData.items : null; } function getDropImage(e) { return e.dataTransfer && e.dataTransfer.files ? e.dataTransfer.files : null; } me.addListener('ready', function () { if (window.FormData && window.FileReader) { var autoUploadHandler = function (e) { var hasImg = false, items; //獲取貼上板檔案列表或者拖放檔案列表 items = e.type == 'paste' ? getPasteImage(e.originalEvent) : getDropImage(e.originalEvent); if (items) { var len = items.length, file; while (len--) { file = items[len]; if (file.getAsFile) file = file.getAsFile(); if (file && file.size > 0 && /image\/\w+/i.test(file.type)) { me.getOpt('convertImageToBase64Enable') ? insertBase64Image(file, me) : sendAndInsertImage(file, me); hasImg = true; } } if (hasImg) return false; } }; me.getOpt('pasteImageEnabled') && me.$body.on('paste', autoUploadHandler); me.getOpt('dropFileEnabled') && me.$body.on('drop', autoUploadHandler); //取消拖放圖片時出現的文字游標位置提示 me.$body.on('dragover', function (e) { if (e.originalEvent.dataTransfer.types[0] == 'Files') { return false; } }); } }); };
以下是autoupload.js的改動
相關推薦
Ueditor拖拽圖片轉base64
ueditor 中拖拽圖片,預設的是會上傳到伺服器,然後根據伺服器返回的結果來生成一般的<img>標籤。那麼我需要實現拖拽圖片,生成的是srcData形式的<img>標籤。1、在uedit的初始化引數中增加一個做 convertImageToBase6
拖拽圖片到另一個div裏
生效 用戶 ext 觸發 過程 fun ref ctype child HTML代碼 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">
拖拽圖片小項目
可見 交換 如果 etl clas 事件 滾動條 height offset 1.布局 一個ul裏面放幾個li,li裏面放圖片,li要設置成absolute。 2.獲取數據 獲取每個li距瀏覽器頂部和左部距離並放入aPos數組中。 給每個li添加一個自定義屬性index,l
Jquery 多行拖拽圖片排序 jq優化
round pan lock ech att orm width app init <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jQu
CSDN-----jquery拖拽圖片
JQuery實現拖拽DIV 之前實現的是以純javascript進行圖片拖拽,昨天發現做特效用jquery程式碼量減少了一倍多,實現拖拽的技術難點主要是在拖動結束點的控制,在放棄選擇拖拽目標時要準確的將事件清除掉,否則就會出現滑鼠明明放棄拖拽,目標卻還在移動,學習的小夥伴們最好了解清楚bin
js 禁止右擊儲存圖片,禁止拖拽圖片
禁止滑鼠右鍵儲存圖片 <img src="" oncontextmenu="return false;"> 禁止滑鼠拖動圖片 <img src="" ondragstart="return false;"> 文字禁止滑鼠選中 <p onselectstart="ret
拖拽圖片調換順序
<!DOCTYPE html><html><head> <style> .row div { float: left; } #div1, #div2 { width: 100px; height: 100px; margin-left: 100px; }
iOS 圖片轉base64編碼
今天有人在群裡問,圖片怎麼轉成base64編碼?那我就在這裡說一說 其實圖片轉成base64編碼,很簡單,蘋果提供了方法 //圖片轉base64 UIImage *image = [UIImage imageNamed:@"eg"]; NSData *data = UII
PPT_2010/2013/2016實現在演示過程中拖拽圖片/形狀
如果有需要在PPT演示過程中簡單拖拽一些元素的功能,那麼這篇文章絕對能幫助你 在上一篇文章分泌蛋白過程操作動畫中提及到實現PPT演示過程中拖拽元素的方法,這篇寫出詳細過程。 先說明幾點: 1、完成後的PPT必須儲存為字尾pptm,而不能是p
Qt 拖拽圖片到QLabel上並顯示
實現程式碼: #include "mainwindow.h" #include "ui_mainwindow.h" #include <QDragEnterEvent> #include <QDropEvent> #include <QUrl&
js圖片轉base64
var reader = new FileReader() reader.readAsDataURL(file) reader.onload = function() { url= reader.result } onl
C# imgage圖片轉base64字元/base64字串轉圖片另存成
//圖片轉為base64編碼的字串 protected string ImgToBase64String(string Imagefilename) { try { Bitmap bmp = new Bitmap(Imagefilename);
前端實現圖片轉base64
使用canvas 新建個canvas標籤然後用css隱藏。之後獲取此canvas元素,使用toDataURL方法轉換。 12 var canvas=document.getElementById("xxxx");var base64=canvas.toDataU
js圖片轉base64編碼壓縮上傳
/** * 回撥函式 * @param image_base64 */ var callback = function(image
base64轉圖片 圖片轉base64
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/x
圖片轉Base64編碼 base64編碼轉圖片
這兩天給手機寫了幾個服務(介面形式),其他資料還好,圖片實在沒處理過,這裡記錄下使用base64編碼遇到的坑。。。。 1、圖片轉base64編碼: public static String getImageStr(String imgUrl) {//將圖片檔案轉化為位
js簡單的圖片轉base64
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>
PHP的圖片轉base64,base64圖片轉換為圖片並儲存程式碼
打卡記錄 1. 圖片轉base64程式碼 /*圖片轉換為 base64格式編碼*/ $img = 'images/avatar.jpg'; $base64_img = base64EncodeImage($img); echo '<img src="' . $base64_img . '" /
c++ 實現圖片轉base64
原理:原因:網路傳送渠道並不支援所有的位元組,例如傳統的郵件只支援可見字元的傳送,像ASCII碼的控制字元就不能通過郵件傳送。這樣用途就受到了很大的限制,比如圖片二進位制流的每個位元組不可能全部是可見字元,所以就傳送不了。最好的方法就是在不改變傳統協議的情 況下,做一種擴充套
UE4 滑鼠拖拽圖片
1.設定一個小的UI(只有一張圖片),一個可以拖拽的東西,比如揹包裡的武器2.在這個ui中過載兩個方法(1)判斷滑鼠按下後是否有拖拽(2)拖拽過程中設定拖拽樣式3.在內容瀏覽器中建立藍圖(拖拽的樣式)4.在想要拖拽的UI中過載On Drop方法5.設定拖拽後放置的位置(為滑鼠