1. 调用上传的html页面所在域名是 www.abc.com ,添加document.domain

<script>
document.domain = "abc.com";
</script>

AjaxUpload 设置

$(function () {

        // 创建一个上传参数
var uploadOption0 =
{
// 提交目标
action: "http://upload.abc.com/FileUpload/Upload",
// input file id,name
id: "file_0",
name: "file_0",
responseType: false, // "json",
// 自动提交
autoSubmit: true,
// 选择文件之后…
onChange: function (file, extension) {
if (!new RegExp(/(jpg)|(jpeg)|(bmp)|(gif)|(png)/i).test(extension)) {
layer.msg("只限上传图片文件,请重新选择!");
}
},
// 开始上传文件
onSubmit: function (file, extension) {
layer.msg("正在上传文件:" + file + "...");
},
// 上传完成之后
onComplete: function (file, responseText) {
var response = eval("(" + responseText + ")");
layer.msg(response.message);
if (response.success) {
$("#file0_name").val(response.data.name);
$("#file0_upload_name").val(response.data.upload_name);
$("#file0_extension").val(response.data.extension);
$("#file0_size").val(response.data.size);
$("#file0_url").val(response.data.url);
$("#file0_download_url").val(response.data.download_url);
$("#file0_msg").html("<span style='color:#008000;'>已上传</span>");
$("#file0_msg").removeClass("error"); }
}
} // 初始化图片上传框
var oAjaxUpload0 = new AjaxUpload('#btnupload0', uploadOption0); })

  

2. 上传服务端 FileUpload/Upload 在  upload.abc.com

public ActionResult Upload()
{
string message = "上传成功,文件大小:" + size; json = new JsonResult
{
Data = new
{
success = true,
message = message,
data = new
{
name = name,
upload_name = upload_name,
extension = extension,
size = size,
url = url,
download_url = file_downloadpath + url
}
}
};
return CrossDomainContent(json);
} private ContentResult CrossDomainContent(JsonResult json)
{
StringBuilder sb = new StringBuilder();
sb.Append("<script> document.domain = 'abc.com'; </script>");
sb.Append(JsonConvert.SerializeObject(json.Data));
return Content(sb.ToString());
}

  

3. 添加了document.domain 的html页面会影响到其他iframe页面,比如某些js日期控件(如 My97DatePicker/WdatePicker.js 也要加上document.domain,相应的引用 My97DatePicker/WdatePicker.js 的页面也要加上 document.domain)

AjaxUpload跨域上传问题的更多相关文章

  1. html5上传图片(一)一跨域上传

    最近开发一个上传图片的模块,传图片的接口不支持跨域上传,并且只支持单张上传,而我们的产品要求要实现多张上传.我搞了一个代理页面,先将图片传到代理页面,然后再通过代理页面传到上传图片接口.虽然这种方式经 ...

  2. 从Ueditor跨域上传,总结的一次跨域上传的爬坑经历

    项目内其中一个管理后台需要发布文章,需要一个富文本编辑器,经过一番选择后,最终选择了百度的Ueditor. 由于上传的文件是上传到另一台专门存放图片等静态资源的服务器上面的,所以就涉及到了跨域上传. ...

  3. Ueditor1.4.3实现跨域上传到独立文件服务器,完美解决单文件和多文件上传!

    再写配置方法之前先吐槽一下网上的各种教程,TM没一个有卵用,一群傻屌不会写就别写,写了就要负责. 百度google搜了半天,全是配置什么document.domain,根域名什么的,我只想对你说: 好 ...

  4. Angular4 后台管理系统搭建(10) - 做一个通用的可跨域上传文件的组件

    写的很慢,不知不觉这是第十篇了.但是我其他事情太多,只能抽空写下.现在angular4或angular2流行的上传方式是ng2-file-upload.它的功能很强大.但是我没有配置成可以跨域上传的. ...

  5. webuploader 跨域上传demo(还没有写记录一下)

    webuploader 跨域上传demo(还没有写记录一下)

  6. js跨域上传文件 iframe

    封装好的jq插件 (function () { var iframe = '<iframe name="jqUploadIframe" style="display ...

  7. 解决使用elementUI框架el-upload跨域上传时session丢失问题

    解决方法一: 1.使用elementUI框架el-upload跨域上传时,后端获取不到cookie,后端接口显示未登录,在添加了 with-credentials="true"后依 ...

  8. 我是如何一步步编码完成万仓网ERP系统的(七)产品库设计 3.品牌图片跨域上传

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

  9. Editor.md解决跨域上传的问题

    Editor.md解决跨域上传的问题 编辑 editormd\plugins\image-dialog\image-dialog.js 替换以下代码片段 if (settings.crossDomai ...

随机推荐

  1. PHP AJAX JSONP实现跨域请求使用实例

    在之前我写过“php返回json数据简单实例”,“php返回json数据中文显示的问题”和“在PHP语言中使用JSON和将json还原成数组”.有兴趣的童鞋可以看看 今天我写的是PHP AJAX JS ...

  2. POMDP

    本文转自:http://www.pomdp.org/ 一.Background on POMDPs We assume that the reader is familiar with the val ...

  3. Elasticsearch 运维实战之1 -- 集群规划

    规划一个可用于生产环境的elasticsearch集群. 集群节点划分 整个集群的节点分为以下三种主要类型 Master nodes -- 负责维护集群状态,不保存index数据, 硬件要求: 一般性 ...

  4. “maven编码gbk的不可映射字符”解决办法

    一.问题描述 Eclipse中使用Maven编译项目源代码时,如下的错误 java源代码在Eclipse中显示是没有任何错误的,可是执行"maven install"命令编译项目时 ...

  5. mysql中影响myisam引擎写入性能的三项设置

    一.LOW_PRIORITY1.对于myisam默认是写操作优先,读操作滞后.通过该项更改,可以使读操作优先,写操作在有空闲的时候再写入.但该项可能在理论上造成,写被永远阻塞. SQL语句中使用示例: ...

  6. 掌握Thinkphp3.2.0----自动完成

    自动完成,是在create数据的时候自动执行的一个或多个动作 自动完成也分为动态和静态两种 格式: //完成规则array( array(完成字段1,完成规则,[完成条件,附加规则]), array( ...

  7. vi(Visual Editor)常用的命令

    任何用户最常做的事要数创建和编辑文件,包括文档.报告和文字,vi(Visual Editor)是一个有效而相对简单的全荧幕编辑,使用vi,只要记著少量基本指令,就可以开始起步,再学习其他更复 杂的指令 ...

  8. mysql 联合查询后update

    SELECT a.user_name,a.avatar,a.nicheng,a.user_rank,b.rank_name,b.rank_img FROM ecs_users a , ecs_user ...

  9. 第四篇:白话tornado源码之褪去模板外衣的前戏

    加班程序员最辛苦,来张图醒醒脑吧! ... ... ... 好了,醒醒吧,回归现实看代码了!! 执行字符串表示的函数,并为该函数提供全局变量 本篇的内容从题目中就可以看出来,就是为之后剖析tornad ...

  10. 【尝新】微信小程序初体验

    文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/?t=1474644089434 根据文档地址中下载微信开发工具后,按照文档指引可以创建一个快速体验的小d ...