ueditor单图上传iframe跨域_UEditor单图上传(simpleupload)跨域问题解决方案
代码实现
首先我们需要在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)跨域问题解决方案相关推荐
- ajax 文件上传 iframe,AJAX_iframe实现Ajax文件上传效果示例,复制代码 代码如下: span styl - phpStudy...
iframe实现Ajax文件上传效果示例 avascript部分 ajax 文件上传~~ window.οnlοad=function(){ var form=document.getElements ...
- 从web编辑器 UEditor 中单独提取图片上传,包含多图片单图片上传以及在线涂鸦功能...
UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码.(抄的...) UEditor是非常好用的富文 ...
- 允许多域名跨域 php,php后端控制可跨域的域名,允许图片跨域上传
跨域问题经常需要面对,前端需要做的比较直接 要么选择ajax异步提交,XML或者jsonp,要么表单提交 jsonp基本可以搞定大部分跨域问题,但问题也比较明显,只能通过get方式提交 并且jsonp ...
- JS同时上传表单图片和表单信息并把上传信息存入数据库,带php后端源码
微信小程序开发交流qq群 581478349 承接微信小程序开发.扫码加微信. 利用JQ,jquery.form.js,bootstrap实现上传表单图片和表单信息并把上传的图片地址,inp ...
- 「跨域」利用node.js实践前端各种跨域方式(上)
前言 常言道,"读万卷书,不如行万里路".技术的学习也是如此,唯有实践才能更清楚的明白原理和加深印象,因此本文会利用node.js对前端的各种跨域方式进行实践,强烈建议一步一步跟着 ...
- UEditor的配置和使用(单独图片与文件上传)
UEditor配置与使用 一.准备 1.下载 前往UEditor官网下载最新版,分为php,asp,jsp和.net四种版本,当然也可以直接下载完整版,这里以jsp为例 http://ueditor. ...
- WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入、XSS跨站、Webshell上传、命令注入、非法HTTP协议请求、非授权文件访问等...
核心概念 WAF Web应用防火墙(Web Application Firewall),简称WAF. Web攻击 针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入.XSS跨站.Websh ...
- 修改form重定到iframe中,模拟异步上传文件的效果
2019独角兽企业重金招聘Python工程师标准>>> <%@ page contentType="text/html; charset=GBK" lang ...
- axios 跨域传参_在Vue中如何使用axios跨域访问数据
vue.js学习之 跨域请求***与axios传参 一:跨域请求*** 1:打开config/index.jsmodule.exports{ dev: { } } 在这里面找到proxyTable{} ...
最新文章
- android获取时区时间格式,考虑时区的日期/时间转换-Android
- 1.2控制台的大体设置:
- 用户模式 linux救援单用户 虚拟机克隆和linux相互登陆
- 3个著名加密算法(MD5、RSA、DES)的解析
- iOS 关于真机和模拟器framework合并
- OceanBase之oracle租户的使用体验
- [poj3280]Cheapest Palindrome_区间dp
- 如何发布第一个属于自己的npm包
- 石子合并简化版(区间DP)
- 录ppt的时候录光标_光标的使用.ppt
- 美赛论文格式基本要求
- PTA C语言程序设计 单项链表
- GCC与交叉编译器(概念)
- python去重算法_python去重算法
- 用荧光素酶基因标记肿瘤细胞的实验步骤
- Spark Core (TopN、mysql写入、读取文件通过RDD结合数据库中的表)练习3套
- 微服务入门到入土(07)-分布式搜索ElasticSearch
- Cadence Allegro如何添加泪滴
- ssh突然无法登录,报错failed to start openssh daemon
- C语言,好爽(第一二三季)
热门文章
- java之ThreadLocal简单使用总结
- Android之解决在非Activity中使用startActivity
- Android之Bitmap学习总结
- mysql5.7.16安装版_mysql数据库5.7.16安装版怎么安装图解
- xshell通过隧道连接_DNS安全之隧道攻击
- html三列布局源码,HTML三列布局 - 黄柳淞的个人页面 - OSCHINA - 中文开源技术交流社区...
- java实体中文字段_java - Spring JPA实体类是否可以包含不在数据库表中的非数据库字段 - SO中文参考 - www.soinside.com...
- 手动挡五个档位示意图_汽车档位越多越好?听听专业回答
- python 文件写入多个参数_pandas 把数据写入txt文件每行固定写入一定数量的值方法...
- eks volumn s3_威客电竞 深渊联赛S3欧洲区总决赛,Secret成就八连冠