Browse Source

feat: 新增图片单独上传,只在数据中留地址的实现

master
cdswyda 4 years ago
parent
commit
f1818ada50
  1. 24
      src/controllers/handler.js
  2. 25
      src/controllers/imageCtrl.js

24
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;
}

25
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('<i class="fa fa-exclamation-triangle"></i>', '图片上传失败');
});
} 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];

Loading…
Cancel
Save