AjaxUpload跨域上传问题
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跨域上传问题的更多相关文章
- html5上传图片(一)一跨域上传
最近开发一个上传图片的模块,传图片的接口不支持跨域上传,并且只支持单张上传,而我们的产品要求要实现多张上传.我搞了一个代理页面,先将图片传到代理页面,然后再通过代理页面传到上传图片接口.虽然这种方式经 ...
- 从Ueditor跨域上传,总结的一次跨域上传的爬坑经历
项目内其中一个管理后台需要发布文章,需要一个富文本编辑器,经过一番选择后,最终选择了百度的Ueditor. 由于上传的文件是上传到另一台专门存放图片等静态资源的服务器上面的,所以就涉及到了跨域上传. ...
- Ueditor1.4.3实现跨域上传到独立文件服务器,完美解决单文件和多文件上传!
再写配置方法之前先吐槽一下网上的各种教程,TM没一个有卵用,一群傻屌不会写就别写,写了就要负责. 百度google搜了半天,全是配置什么document.domain,根域名什么的,我只想对你说: 好 ...
- Angular4 后台管理系统搭建(10) - 做一个通用的可跨域上传文件的组件
写的很慢,不知不觉这是第十篇了.但是我其他事情太多,只能抽空写下.现在angular4或angular2流行的上传方式是ng2-file-upload.它的功能很强大.但是我没有配置成可以跨域上传的. ...
- webuploader 跨域上传demo(还没有写记录一下)
webuploader 跨域上传demo(还没有写记录一下)
- js跨域上传文件 iframe
封装好的jq插件 (function () { var iframe = '<iframe name="jqUploadIframe" style="display ...
- 解决使用elementUI框架el-upload跨域上传时session丢失问题
解决方法一: 1.使用elementUI框架el-upload跨域上传时,后端获取不到cookie,后端接口显示未登录,在添加了 with-credentials="true"后依 ...
- 我是如何一步步编码完成万仓网ERP系统的(七)产品库设计 3.品牌图片跨域上传
https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...
- Editor.md解决跨域上传的问题
Editor.md解决跨域上传的问题 编辑 editormd\plugins\image-dialog\image-dialog.js 替换以下代码片段 if (settings.crossDomai ...
随机推荐
- SharePoint Configuration Wizard - Unable to upgrade SharePoint Products and Technologies because an upgrade is already in progress
故障描述 当要运行SharePonit Products and Technologies Configuration Wizard的时候,出现了如下图所示的错误提示. 错误信息为: Unable t ...
- Win7 下安装VirtualBox 没有Ubuntu 64bit 选项问题
参考: win7安装virtualbox遇到的问题 基于VirtualBox虚拟机安装Ubuntu图文教程 问题 在安装VirtualBox之后,选择虚拟机进行安装的时候发现没有Ubuntu 64bi ...
- CocoaPods for Xcode
http://www.cnblogs.com/MrRed/p/5728933.html 非常方便的Xcode pods插件.可以很方便的在Xcode通过pods安装各种objective-c第三方库, ...
- java中类继承,到底继承了什么?
继承的最大好处就是为了实现代码的复用.那么,子类到底从父类得到的什么呢? 实例成员 父类的private成员不会被子类继承,子类不能访问.但是子类对象的确包含父类的私有成员. 父类的 包访问成员 继承 ...
- php token的生成
转载自:http://blog.snsgou.com/post-766.html --->非开放性平台 --->公司内部产品 接口特点汇总: 1.因为是非开放性的,所以所有的接口都是封闭的 ...
- JS笔记一
最近有时间,觉得应该整理一下,额,就从很久之前的基础开始吧,正好也巩固下,菜鸟需要扎实基础. 下面是一个简单的调查表,因为没有写任何样式,所以就是简单的表单输入框之类的.选择“男”或者“女”时,会出现 ...
- [原创]Oracle 12c 抢先安装手迹
[前言] Oracle 12c 终于投放市场了,唉,等了很久了.据官方说这是一个为云计算平台量身定做的版本....且不管真的假的,先让我们把它装上再说. 注:笔者在安装的过程中发现12c的安装过程,较 ...
- html5 canvas画流程图
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- oracle 参考
create or replace function fun_try(v_name varchar,v_outname out varchar)return varchar2 is Result va ...
- avalon的表单验证
表单验证 avalon内置了强大的表单验证功能,它需要结合ms-duplex, ms-validate, ms-rules这个三个指令一起使用. ms-duplex负责监控每个表单元素的输入. ms- ...