Kindeditor跨域上传图片在ASP.NET方案中的解决

虽然标题写的是ASP.NET的解决方案,但是也可用在PHP,Jsp中。直接上代码

首先在客户端中配置

 var editor;
 document.domain = window.location.host;//js解析域
 KindEditor.ready(function (k) {
     editor = k.create(‘#editor_id‘,
       {
                uploadJson: GlobalConfig
                    .RestServiceUrl +
                    "/FileUpload/upload_json.ashx?folder=News&domainhost=" + window.location.host, // ‘upload_json.ashx‘,
                fileManagerJson: GlobalConfig
                    .RestServiceUrl +
                    "/FileUpload/file_manager_json.ashx?folder=News", //‘file_manager_json.ashx‘,
                allowFileManager: true,
                resizeType: 0,
                height: "500px", //编辑器的高度
                urlType: ‘domain‘ //让上传的文件记录绝对路径!
      });

关键代码部分为

document.domain = window.location.host;//js解析域
 public void ProcessRequest(HttpContext context)
    {
        string folder = context.Request["folder"];
        _webhostdomain = context.Request["domainhost"];
        _returnstring = string.Format(@"<script   type=‘text/javascript‘>document.domain = ‘{0}‘</script>",_webhostdomain);
   ....
 context.Response.AddHeader("Content-Type", "text/html; charset=UTF-8");
        context.Response.Write(_returnstring + JsonMapper.ToJson(hash));
        context.Response.End();
}

  类似于jsonp的方式解决

时间: 2024-08-10 18:20:10

Kindeditor跨域上传图片在ASP.NET方案中的解决的相关文章

WebClient实现kindeditor跨域上传图片

尝试上传图片到一个单独的服务器,使用的是KindeEditor 4.1.10 kindeditor上传图片原理是: 上传按钮提交到iframe,生成1个form和1个iframe,form提交到(arget)iframeiframe的onload方法获取返回的值,然后调用配置回调方法afterUpload/afterError. 第一次尝试 页面A document.domain = "aaa.xx.com"; 图片服务器B document.domain = "bbb.xx

跨域上传图片的尝试过程,最终成功了。哈哈

关于这个跨域上传图片的问题,其实去年底的时候就该去实现的,因为老板朝三暮四,一会儿让做这个,一会儿看那个,就耽误了.因为这个过程花费了我整整一天的时间,我认为有必要记录下来. 首先,项目是一个ERP,针对的是公司的一个小型电商的网站.项目经理让我搭建一个图片服务器, 当时也是为了完(尝)成(尝)任(新)务(鲜),用的都是当时从没接触过的.通过百度就选择了 Nginx + Nodejs + express + ImageMagick 来实现的. 当时还简单看了一下淘宝的TFS(Taobao Fil

让 umeditor 支持跨域上传图片

事实上,umeditor 上传图片采用的是 form+隐藏iframe方式,已经能做到无刷新跨域上传.但小小遗憾的是做的并不完美,上传图片后,反馈的json信息,js并不能读取.原因在于,js不能操作跨域的iframe. 1 var r = this.contentWindow.document.body.innerHTML; 此句代码在FF Chrome上都会报错.浏览器的这种限制,可以通过两个方式来解决 换成flash上传 主页跟iframe页都设置 document.domain . 第一

前端解决跨域问题的8种方案(转)

前端解决跨域问题的8种方案(最新最全) 原文:http://www.cnblogs.com/JChen666/p/3399951.html 1.同源策略如下: URL 说明 是否允许通信 http://www.a.com/a.jshttp://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.jshttp://www.a.com/script/b.js 同一域名下不同文件夹 允许 http://www.a.com:8000/a.jshttp://www

ueditor富文本编辑器跨域上传图片解决办法

在使用百度富文本编辑器的过程中,如果是有一台单独的图片服务器就需要将上传的图片内容放到图片服务器,也就是比如在a.com的编辑器上传图片,图片要保存到img.com的跨域上传图片功能,而在ueditor官方文档中说不支持单图上传的跨域, 网上查了一下各种花里胡哨,一顿操作猛如虎,比如加document.domain,配置全域名的等等都是然并卵,我仔细研究了一下ueditor的demo文件,相出了一个折中办法,很简单只需要修改demo中两个地方的代码外加写一个上传接口即可. 首先引入页面uedit

CORS跨域请求规则以及在Spring中的实现

CORS: 通常情况下浏览器禁止AJAX从外部获取资源,因此就衍生了CORS这一标准体系,来实现跨域请求. CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing).它允许浏览器向跨源(协议 + 域名 + 端口)服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制. 跨域请求在java spring MVC中的实现: Spring MVC HandlerMapping 接口对CORS提供了一个内部支持,

kindeditor4跨域上传图片解决

项目中正在使用kindeditor, 版本号4.1.10 非常多公司的图片会走CDN,须要单独的一台图片上传服务如:(upload.268xue.com) kindeditor上传图片的简单内部流程: 上传button是提交到iframe.生成1个form和1个iframe,form提交到(arget)iframe iframe的onload方法获取返回的值.然后调用配置回调方法afterUpload/afterError. 详细实现:(在a.com选中图片,上传用upload.268xue.c

iframe跨域上传图片

方案一:用jquery的$.post异步提交,然后把返回来的值用jquery填充到隐藏域中.可是$.post不支持跨域. jQuery.ajax()支持get方式的跨域,这其实是采用jsonp的方式来完成的. 方案二:利用iframe以及jquery进行表单post提交.代码如下: == a.com/post.html == <script> function postcallback(data){ //code... } </script> <form action=&qu

使用JSONP彻底解决Ajax跨域访问Cookie Session的方案

最近做开发时要把图片文件放到另外一台服务器上(另外一个域名),因为这样分布式存放,网站打开速度会快很多.而我采用AJAX获取图片服务器上某用户的图片时遇到了问题,按照通常的方式无法获取信息,得到的Cookie都是null,后来想到浏览器出于安全考虑JavaScript和iframe不能跨域访问,那我们就要考虑使用其他途径来完成了,捣鼓了2天终于找到了解决方案,我使用JSONP来解决,请看. JS代码: $.ajax({ type: "get", url: "http://ww