配置ueditor.all.js文件24507行的方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | domUtils.on(input, 'change' , function (){ if (!input.value) return ; var loadingId = 'loading_' + (+ new Date()).toString(36); var params = utils.serializeParam(me.queryCommandValue( 'serverparam' )) || '' ; var imageActionUrl = me.getActionUrl(me.getOpt( 'imageActionName' )); var allowFiles = me.getOpt( 'imageAllowFiles' ); me.focus(); me.execCommand( 'inserthtml' , '' ); function callback(){ try { var link, json, loader, body = (iframe.contentDocument || iframe.contentWindow.document).body, result = body.innerText || body.textContent || '' ; json = ( new Function( "return " + result))(); link = me.options.imageUrlPrefix + json.url; if (json.state == 'SUCCESS' && json.url) { loader = me.document.getElementById(loadingId); loader.setAttribute( 'src' , link); loader.setAttribute( '_src' , link); loader.setAttribute( 'title' , json.title || '' ); loader.setAttribute( 'alt' , json.original || '' ); loader.removeAttribute( 'id' ); domUtils.removeClasses(loader, 'loadingclass' ); } else { showErrorLoader && showErrorLoader(json.state); } } catch (er){ showErrorLoader && showErrorLoader(me.getLang( 'simpleupload.loadError' )); } form.reset(); domUtils.un(iframe, 'load' , callback); } function showErrorLoader(title){ if (loadingId) { var loader = me.document.getElementById(loadingId); loader && domUtils.remove(loader); me.fireEvent( 'showmessage' , { 'id' : loadingId, 'content' : title, 'type' : 'error' , 'timeout' : 4000 }); } } /* 判断后端配置是否没有加载成功 */ if (!me.getOpt( 'imageActionName' )) { errorHandler(me.getLang( 'autoupload.errorLoadConfig' )); return ; } // 判断文件格式是否错误 var filename = input.value, fileext = filename ? filename.substr(filename.lastIndexOf( '.' )): '' ; if (!fileext || (allowFiles && (allowFiles.join( '' ) + '.' ).indexOf(fileext.toLowerCase() + '.' ) == -1)) { showErrorLoader(me.getLang( 'simpleupload.exceedTypeError' )); return ; } domUtils.on(iframe, 'load' , callback); form.action = utils.formatUrl(imageActionUrl + (imageActionUrl.indexOf( '?' ) == -1 ? '?' : '&' ) + params); form.submit(); }); |
替换成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | domUtils.on(input, 'change' , function () { if (!input.value) return ; var loadingId = 'loading_' + (+ new Date()).toString(36); var imageActionUrl = me.getActionUrl(me.getOpt( 'imageActionName' )); var allowFiles = me.getOpt( 'imageAllowFiles' ); me.focus(); //me.execCommand('inserthtml', ''); //原文章给的是 //me.execCommand('inserthtml', ''); //但是,是无法用loadingId绑定元素,所以也无法将图片的返回路径添加到html中,也就是 //loader = me.document.getElementById(loadingId); loader无法找到 //应该是用下边的写法 me.execCommand( 'inserthtml' , '<img class="loadingclass" id="' + loadingId + '" src="' + me.options.themePath + me.options.theme + '/images/spacer.gif" title="' + (me.getLang( 'simpleupload.loading' ) || '' ) + '" >' ); /* 判断后端配置是否没有加载成功 */ if (!me.getOpt( 'imageActionName' )) { errorHandler(me.getLang( 'autoupload.errorLoadConfig' )); return ; } // 判断文件格式是否错误 var filename = input.value, fileext = filename ? filename.substr(filename.lastIndexOf( '.' )): '' ; if (!fileext || (allowFiles && (allowFiles.join( '' ) + '.' ).indexOf(fileext.toLowerCase() + '.' ) == -1)) { showErrorLoader(me.getLang( 'simpleupload.exceedTypeError' )); return ; } var params = utils.serializeParam(me.queryCommandValue( 'serverparam' )) || '' ; var action = utils.formatUrl(imageActionUrl + (imageActionUrl.indexOf( '?' ) == -1 ? '?' : '&' ) + params); var formData = new FormData(); formData.append( "upfile" , form[0].files[0] ); $.ajax({ url: action, type: 'POST' , cache: false , data: formData, processData: false , contentType: false , success: function (data) { data = JSON.parse(data); var link, loader, body = (iframe.contentDocument || iframe.contentWindow.document).body, result = body.innerText || body.textContent || '' ; link = me.options.imageUrlPrefix + data.url; if (data.state == 'SUCCESS' && data.url) { loader = me.document.getElementById(loadingId); loader.setAttribute( 'src' , link); loader.setAttribute( '_src' , link); loader.setAttribute( 'title' , data.title || '' ); loader.setAttribute( 'alt' , data.original || '' ); loader.removeAttribute( 'id' ); domUtils.removeClasses(loader, 'loadingclass' ); } else { showErrorLoader && showErrorLoader(data.state); } form.reset(); } }); function showErrorLoader(title){ if (loadingId) { var loader = me.document.getElementById(loadingId); loader && domUtils.remove(loader); me.fireEvent( 'showmessage' , { 'id' : loadingId, 'content' : title, 'type' : 'error' , 'timeout' : 4000 }); } } }); |
注意:我们引用的是ueditor.all.js,如果引用的是ueditor.all.min.js,得改成ueditor.all.js。这个低级错误我们不要犯哈。
.net core UEditor 开源地址https://github.com/baiyunchen/UEditor.Core
本文来自 www.luofenming.com