Simditor 上传图片回显图片src base64 换成 图片链接

it2022-05-05  109

Simditor 是一款简介好用的富文本插件

使用过程中发现 添加图片后,后台报错说字段太长,无法存入内容

原因是:Simditor 没有找到上传图片后回显的图片地址,直接获取图片的源文件转成base64 放到 src 属性中,导致提交表单时字段太长。

Simditor 插件 uploader.js 中有这样一段代码:

 上传成功后,触发 'uploadsuccess'

在simditor.js 中,找到这个触发器 

 

this.editor.uploader.on('uploadsuccess', (function(_this) { return function(e, file, result) { var $img, $mask, msg; if (!file.inline) { return; } $img = file.img; $img.removeData('file'); $img.removeClass('uploading'); $mask = $img.data('mask'); if ($mask) { $mask.remove(); } $img.removeData('mask'); if (result.success === false) { msg = result.msg || _this._t('uploadFailed'); alert(msg); $img.attr('src', _this.defaultImage); } else { $img.attr('src', result.file_path); } if (_this.popover.active) { _this.popover.srcEl.prop('disabled', false); _this.popover.srcEl.val(result.file_path); } _this.editor.trigger('valuechanged'); if (_this.editor.body.find('img.uploading').length < 1) { return _this.editor.uploader.trigger('uploadready', [file, result]); } }; })(this));

这里我们有两种改法:

1.改后端代码

将上传接口的返回值字段改成 ‘file_path’(这里的file_path是指上传图片后获得的图片url),来对应JS中的字段

2.改JS

将这段js中‘file_path’改成对应后端返回值中的图片地址字段就OK了


最新回复(0)