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

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

AjaxUpload 设置

  1. $(function () {
  2.  
  3. // 创建一个上传参数
  4. var uploadOption0 =
  5. {
  6. // 提交目标
  7. action: "http://upload.abc.com/FileUpload/Upload",
  8. // input file id,name
  9. id: "file_0",
  10. name: "file_0",
  11. responseType: false, // "json",
  12. // 自动提交
  13. autoSubmit: true,
  14. // 选择文件之后…
  15. onChange: function (file, extension) {
  16. if (!new RegExp(/(jpg)|(jpeg)|(bmp)|(gif)|(png)/i).test(extension)) {
  17. layer.msg("只限上传图片文件,请重新选择!");
  18. }
  19. },
  20. // 开始上传文件
  21. onSubmit: function (file, extension) {
  22. layer.msg("正在上传文件:" + file + "...");
  23. },
  24. // 上传完成之后
  25. onComplete: function (file, responseText) {
  26. var response = eval("(" + responseText + ")");
  27. layer.msg(response.message);
  28. if (response.success) {
  29. $("#file0_name").val(response.data.name);
  30. $("#file0_upload_name").val(response.data.upload_name);
  31. $("#file0_extension").val(response.data.extension);
  32. $("#file0_size").val(response.data.size);
  33. $("#file0_url").val(response.data.url);
  34. $("#file0_download_url").val(response.data.download_url);
  35. $("#file0_msg").html("<span style='color:#008000;'>已上传</span>");
  36. $("#file0_msg").removeClass("error");
  37.  
  38. }
  39. }
  40. }
  41.  
  42. // 初始化图片上传框
  43. var oAjaxUpload0 = new AjaxUpload('#btnupload0', uploadOption0);
  44.  
  45. })

  

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

  1. public ActionResult Upload()
  2. {
  3. string message = "上传成功,文件大小:" + size;
  4.  
  5. json = new JsonResult
  6. {
  7. Data = new
  8. {
  9. success = true,
  10. message = message,
  11. data = new
  12. {
  13. name = name,
  14. upload_name = upload_name,
  15. extension = extension,
  16. size = size,
  17. url = url,
  18. download_url = file_downloadpath + url
  19. }
  20. }
  21. };
  22. return CrossDomainContent(json);
  23. }
  24.  
  25. private ContentResult CrossDomainContent(JsonResult json)
  26. {
  27. StringBuilder sb = new StringBuilder();
  28. sb.Append("<script> document.domain = 'abc.com'; </script>");
  29. sb.Append(JsonConvert.SerializeObject(json.Data));
  30. return Content(sb.ToString());
  31. }

  

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. Yii源码阅读笔记(三十四)

    Instance类, 表示依赖注入容器或服务定位器中对某一个对象的引用 namespace yii\di; use Yii; use yii\base\InvalidConfigException; ...

  2. tjkd-html

    <div class="result-item"> <div class="kd-item"> <div class=" ...

  3. Codeforces554 C Kyoya and Colored Balls

    C. Kyoya and Colored Balls Time Limit: 2000ms Memory Limit: 262144KB 64-bit integer IO format: %I64d ...

  4. 【转】c#处理3种json数据的实例

    http://www.jb51.net/article/48027.htm http://json2csharp.chahuo.com/ 网络中数据传输经常是xml或者json,现在做的一个项目之前调 ...

  5. crontab执行时间和系统时间不一致

    最近发现一个非常奇怪的问题,症状如下: crontab 定时任务 配置时间 是 10 5 * * * (每日凌晨5点10分执行) 运行脚本时间却是 18:10左右 Dec 24 05:10:01 ht ...

  6. DEDE有无缩略图如何调取

    同一样式分开调取 [field:array runphp='yes']@me = (strpos(@me['litpic'],'defaultpic') ? "":"&l ...

  7. sed处理url编码解码=== web日志的url处理

    URL 编码/解码方法(linux  shell实现),方法如下: 1.编码的两种方法: admin@~ 11:14:29>echo '手机' | tr -d '\n' | xxd -plain ...

  8. Java 实现函数回调

    在Java里没用委托(delegate)这方法,所以想要实现回调还是有些麻烦.(想了解C#如何实现?请查看:http://www.cnblogs.com/Martin_Q/p/4478494.html ...

  9. Resolving SQL Server Disk IO bottlenecks

    网上看到这篇文章挺不错的,直接翻译过来.在尝试诊断SQL Server性能时,不要仅仅依赖某个单一的诊断数据,比如CPU的使用率.SQL Server磁盘性能,就得出结论却忽略的问题的根源.实际上,使 ...

  10. ue4 ios

    project settings package 可以指定非APK打包,确定资源是否发布 可以指定content下某个目录所有文件(非.uassert)都打包 ios环境下fopen打开文件需要指定路 ...