diff --git a/src/controllers/handler.js b/src/controllers/handler.js index d98c7ab..ae345a4 100644 --- a/src/controllers/handler.js +++ b/src/controllers/handler.js @@ -1476,13 +1476,7 @@ export default function luckysheetHandler() { if(!checkProtectionAuthorityNormal(Store.currentSheetIndex, "editObjects")){ return; } - let render = new FileReader(); - render.readAsDataURL(files[0]); - - render.onload = function(event){ - let src = event.target.result; - imageCtrl.inserImg(src); - } + imageCtrl.insertImg(files[0]); } handleCellDragStopEvent(e); }, false); @@ -4886,14 +4880,7 @@ export default function luckysheetHandler() { return; } let file = e.currentTarget.files[0]; - let render = new FileReader(); - render.readAsDataURL(file); - - render.onload = function(event){ - let src = event.target.result; - imageCtrl.inserImg(src); - $("#luckysheet-imgUpload").val(""); - } + imageCtrl.insertImg(file); }); //菜单栏 插入链接按钮 @@ -5620,12 +5607,7 @@ export default function luckysheetHandler() { } //复制的是图片 else if(clipboardData.files.length == 1 && clipboardData.files[0].type.indexOf('image') > -1){ - let render = new FileReader(); - render.readAsDataURL(clipboardData.files[0]); - render.onload = function(event){ - let src = event.target.result; - imageCtrl.inserImg(src); - } + imageCtrl.insertImg(clipboardData.files[0]); return; } diff --git a/src/controllers/imageCtrl.js b/src/controllers/imageCtrl.js index 949c13e..ce0df59 100644 --- a/src/controllers/imageCtrl.js +++ b/src/controllers/imageCtrl.js @@ -8,6 +8,7 @@ import { setluckysheet_scroll_status } from '../methods/set'; import { replaceHtml } from '../utils/util'; import Store from '../store'; import locale from '../locale/locale'; +import tooltip from '../global/tooltip'; const imageCtrl = { imgItem: { @@ -49,7 +50,29 @@ const imageCtrl = { cropChangeXY: null, cropChangeObj: null, copyImgItemObj: null, - inserImg: function(src){ + insertImg: function (file) { + const uploadImage = Store.toJsonOptions && Store.toJsonOptions['uploadImage']; + if (typeof uploadImage === 'function') { + // 上传形式 + uploadImage(file).then(url => { + imageCtrl._insertImg(url); + }).catch(error => { + tooltip.info('', '图片上传失败'); + }); + } else { + // 内部base64形式 + let render = new FileReader(); + render.readAsDataURL(file); + + render.onload = function(event){ + let src = event.target.result; + imageCtrl._insertImg(src); + $("#luckysheet-imgUpload").val(""); + } + } + }, + + _insertImg: function(src){ let _this = this; let last = Store.luckysheet_select_save[Store.luckysheet_select_save.length - 1];