代码实现

首先我们需要在ueditor.all.js文件中找到原本的单图上传部分的代码

搜索关键字 simpleupload,如下图所示:

然后找到上传图片的代码片段,如下图所示:

然后把 domUtils.on的 input 绑定的事件注释掉或删除掉

替换成以下代码:input.onchange = 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 imageUrlPrefix = me.getOpt("imageUrlPrefix");

var allowFiles = me.getOpt("imageAllowFiles");

me.focus();

me.execCommand(

"inserthtml",

'

loadingId +

'" src="' +

me.options.themePath +

me.options.theme +

'/images/spacer.gif">'

);

/* 判断后端配置是否没有加载成功 */

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 formData = new FormData()

formData.append('upfile', input.files[0]);

// 替换你的URL

$.ajax(imageActionUrl, {

data: formData,

processData: false,

contentType: false,

type: "post",

success: function (data) {

try {

var link,

json,

loader;

json = JSON.parse(data);

link = imageUrlPrefix + json.url; if (json.state == "SUCCESS" && json.url) {

loader = me.document.getElementById(loadingId);

domUtils.removeClasses(loader, "loadingclass");

loader.setAttribute("src", link);

loader.setAttribute("_src", link);

loader.setAttribute("alt", json.original || "");

loader.removeAttribute("id");

me.fireEvent("contentchange");

} else {

showErrorLoader && showErrorLoader(json.state);

}

} catch (er) {

showErrorLoader &&

showErrorLoader(me.getLang("simpleupload.loadError"));

}

}

});

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.json文件是正确的)

更多详细请看原文,感谢原作者的解决方案。

ueditor单图上传iframe跨域_UEditor单图上传(simpleupload)跨域问题解决方案相关推荐

  1. ajax 文件上传 iframe,AJAX_iframe实现Ajax文件上传效果示例,复制代码 代码如下: span styl - phpStudy...

    iframe实现Ajax文件上传效果示例 avascript部分 ajax 文件上传~~ window.οnlοad=function(){ var form=document.getElements ...

  2. 从web编辑器 UEditor 中单独提取图片上传,包含多图片单图片上传以及在线涂鸦功能...

    UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码.(抄的...) UEditor是非常好用的富文 ...

  3. 允许多域名跨域 php,php后端控制可跨域的域名,允许图片跨域上传

    跨域问题经常需要面对,前端需要做的比较直接 要么选择ajax异步提交,XML或者jsonp,要么表单提交 jsonp基本可以搞定大部分跨域问题,但问题也比较明显,只能通过get方式提交 并且jsonp ...

  4. JS同时上传表单图片和表单信息并把上传信息存入数据库,带php后端源码

    微信小程序开发交流qq群   581478349    承接微信小程序开发.扫码加微信. 利用JQ,jquery.form.js,bootstrap实现上传表单图片和表单信息并把上传的图片地址,inp ...

  5. 「跨域」利用node.js实践前端各种跨域方式(上)

    前言 常言道,"读万卷书,不如行万里路".技术的学习也是如此,唯有实践才能更清楚的明白原理和加深印象,因此本文会利用node.js对前端的各种跨域方式进行实践,强烈建议一步一步跟着 ...

  6. UEditor的配置和使用(单独图片与文件上传)

    UEditor配置与使用 一.准备 1.下载 前往UEditor官网下载最新版,分为php,asp,jsp和.net四种版本,当然也可以直接下载完整版,这里以jsp为例 http://ueditor. ...

  7. WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入、XSS跨站、Webshell上传、命令注入、非法HTTP协议请求、非授权文件访问等...

    核心概念 WAF Web应用防火墙(Web Application Firewall),简称WAF. Web攻击 针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入.XSS跨站.Websh ...

  8. 修改form重定到iframe中,模拟异步上传文件的效果

    2019独角兽企业重金招聘Python工程师标准>>> <%@ page contentType="text/html; charset=GBK" lang ...

  9. axios 跨域传参_在Vue中如何使用axios跨域访问数据

    vue.js学习之 跨域请求***与axios传参 一:跨域请求*** 1:打开config/index.jsmodule.exports{ dev: { } } 在这里面找到proxyTable{} ...

最新文章

  1. android获取时区时间格式,考虑时区的日期/时间转换-Android
  2. 1.2控制台的大体设置:
  3. 用户模式 linux救援单用户 虚拟机克隆和linux相互登陆
  4. 3个著名加密算法(MD5、RSA、DES)的解析
  5. iOS 关于真机和模拟器framework合并
  6. OceanBase之oracle租户的使用体验
  7. [poj3280]Cheapest Palindrome_区间dp
  8. 如何发布第一个属于自己的npm包
  9. 石子合并简化版(区间DP)
  10. 录ppt的时候录光标_光标的使用.ppt
  11. 美赛论文格式基本要求
  12. PTA C语言程序设计 单项链表
  13. GCC与交叉编译器(概念)
  14. python去重算法_python去重算法
  15. 用荧光素酶基因标记肿瘤细胞的实验步骤
  16. Spark Core (TopN、mysql写入、读取文件通过RDD结合数据库中的表)练习3套
  17. 微服务入门到入土(07)-分布式搜索ElasticSearch
  18. Cadence Allegro如何添加泪滴
  19. ssh突然无法登录,报错failed to start openssh daemon
  20. C语言,好爽(第一二三季)

热门文章

  1. java之ThreadLocal简单使用总结
  2. Android之解决在非Activity中使用startActivity
  3. Android之Bitmap学习总结
  4. mysql5.7.16安装版_mysql数据库5.7.16安装版怎么安装图解
  5. xshell通过隧道连接_DNS安全之隧道攻击
  6. html三列布局源码,HTML三列布局 - 黄柳淞的个人页面 - OSCHINA - 中文开源技术交流社区...
  7. java实体中文字段_java - Spring JPA实体类是否可以包含不在数据库表中的非数据库字段 - SO中文参考 - www.soinside.com...
  8. 手动挡五个档位示意图_汽车档位越多越好?听听专业回答
  9. python 文件写入多个参数_pandas 把数据写入txt文件每行固定写入一定数量的值方法...
  10. eks volumn s3_威客电竞 深渊联赛S3欧洲区总决赛,Secret成就八连冠