自定义上传事件
最后更新于:2022-04-01 23:42:35
如果想自定义控制图片上传完成、失败、超时时的操作,可通过配置 `editor.config.uploadImgFns.onload` `editor.config.uploadImgFns.ontimeout` `editor.config.uploadImgFns.onerror` 三个事件来自定义。
另外,在自定义的上传事件中,可通过`editor.uploadImgOriginalName`来获取图片名称(例如用作``的`alt`属性),注意看代码注释。
**注意,`ontimeout`和`onerror`两个事件在IE8、9下不起作用**
----
代码示例如下:
```html
```
----
以下代码,是wangEditor.js中定义的。**仅供参考,请勿直接复制粘贴来用**。
```js
var editor = this;
var fns = editor.config.uploadImgFns; // editor.config.uploadImgFns = {} 在config文件中定义了
// -------- 插入图片的方法 --------
function insertImg(src) {
var img = document.createElement('img');
img.onload = function () {
var html = '';
editor.command(null, 'insertHtml', html);
E.log('已插入图片,地址 ' + src);
img = null;
};
img.onerror = function () {
E.error('使用返回的结果获取图片,发生错误。请确认以下结果是否正确:' + src);
img = null;
};
img.src = src;
}
// -------- 定义load函数 --------
fns.onload || (fns.onload = function (resultText, xhr) {
E.log('上传结束,返回结果为 ' + resultText);
if (resultText.indexOf('error|') === 0) {
// 提示错误
E.warn('上传失败:' + resultText.split('|')[1]);
alert(resultText.split('|')[1]);
} else {
E.log('上传成功,即将插入编辑区域,结果为:' + resultText);
// 将结果插入编辑器
insertImg(resultText);
}
});
// -------- 定义tiemout函数 --------
fns.ontimeout || (fns.ontimeout = function (xhr) {
E.error('上传图片超时');
alert('上传图片超时');
});
// -------- 定义error函数 --------
fns.onerror || (fns.onerror = function (xhr) {
E.error('上传上图片发生错误');
alert('上传上图片发生错误');
});
```
';
请输入内容...