Jquery~跨域异步上传文件

时间:2021-08-09 08:12:29

先说明白

这个跨域异步上传功能我们借助了Jquery.form插件,它在异步表单方面很有成效,而跨域我们会在HTTP响应头上添加access-control-allow-method,当然这个头标记只有IE10,火狐和谷歌上支持,对于IE10以下的浏览器来说,我们就不能用这种方式了,我们需要换个思路去干这事,让服务端去重写向我们的客户端,由客户端(与文件上传页面在同域下)来返回相关数据即可。

再做事

1 Jquery.form的使用

<form method="post" action="http://127.0.0.1:801/Home/UploadResult" enctype="multipart/form-data" id="form1">
<input name="qdctvfile" id="qdctvfile11" type="file" onchange="eventStart()">
</form>
<script type="text/javascript">
$("#form1").ajaxForm({
beforeSerialize: function () {
var filepath = $("#qdctvfile11").val()
var extStart = filepath.lastIndexOf(".");
var ext = filepath.substring(extStart, filepath.length).toUpperCase();
if (ext != ".PNG" && ext != ".JPG") {
alert("图片仅支持png,jpg格式");
$("#qdctvfile11").val("");
return false;
}
},
success: function (data) {
alert(data);
}
});
function eventStart(obj) {
$("#form1").submit();
}

注意,代码中的eventStart方法是指在选择文件后,自动提交表单,而ajaxForm表示提交表单为异常方式,success回调方法是指异步返回表单地址的返回值。

2 跨域的初步实现

解决域访问,我们可以在服务端的响应头上添加Access-Control-Allow-Origin和Access-Control-Allow-Methods两个特性即可,这些特性在IE10以下的浏览器不被支持,很是郁闷。

    /// <summary>
/// MVC模式下跨域访问
/// </summary>
public class MvcCorsAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
Dictionary<string, string> headers = new Dictionary<string, string>(); headers.Add("Access-Control-Allow-Origin", "*");
headers.Add("Access-Control-Allow-Methods", "*");
foreach (var item in headers.Keys)
{
filterContext.RequestContext.HttpContext.Response.Headers.Add(item, headers[item]);
} base.OnActionExecuting(filterContext);
}
}

注意,在生产环境下,我们的Access-Control-Allow-Origin应该是指定合法的域名的,*表示对所以网站都开放访问,这是危险的。

3 解决IE10以下不能跨域的问题

对于IE浏览器确实没法说了,虽然很喜欢微软的东西,但对于IE来说,我只能是NO,我真不想过多的去谈论它,先看看IE实现跨域上传的解决思想:由客户端不直接返回数据,而是重写向到客户端的callback地址,由callback像ajaxForm方法返回最终的数据,这

样就解决了直接的跨域问题了。

        /// <summary>
/// 第三方的服务端
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
[HttpPost]
public ActionResult UploadResult()
{
string data = "{'code':'OK','thumpImgUrl':'http://127.0.0.1/images/1.jpg'}";
return Redirect("http://localhost:9497/Home/UploadCallback?data=" + data);
} /// <summary>
/// 可能是服务端来调用它
/// </summary>
/// <returns></returns>
public ActionResult UploadCallback(string data)
{
return Content(data);
}

有些时候,我们在想一个问题的解决方法时,如果一条路走不通过,可以换换思路,也许会有意外的收获!

有人问,这块使用POST方式在服务端与客户端进行数据传递可以不可以,大叔说:不可以,因为POST在提交到客户端后,客户端处理,然后还是把结果返回给服务端,最后服务端再把结果返回给ajaxform,这还是又回到了开始的跨域问题,哈哈!

aaarticlea/png;base64,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" alt="" />

aaarticlea/png;base64,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" alt="" />

呵呵,怎么样,挺有意思的吧!

感谢各位的阅读!

Jquery~跨域异步上传文件的更多相关文章

  1. (H5)FormData&plus;AJAX&plus;SpringMVC跨域异步上传文件

    最近都没时间整理资料了,一入职就要弄懂业务,整天被业务弄得血崩. 总结下今天弄了一个早上的跨域异步上传文件.主要用到技术有HTML5的FormData,AJAX,Spring MVC. 首先看下上传页 ...

  2. 【转】JQuery插件ajaxFileUpload 异步上传文件(PHP版)

    前几天想在手机端做个异步上传图片的功能,平时用的比较多的JQuery图片上传插件是Uploadify这个插件,效果很不错,但是由于手机不支持flash,所以不得不再找一个文件上传插件来用了.后来发现a ...

  3. JQuery插件ajaxFileUpload 异步上传文件(PHP版)

    太久没写博客了,真的是太忙了.善于总结,进步才会更快啊.不多说,直接进入主题. 前几天想在手机端做个异步上传图片的功能,平时用的比较多的JQuery图片上传插件是Uploadify这个插件,效果很不错 ...

  4. 利用jquery&period;form实现异步上传文件

    实现原理 目前需要在一个页面实现多个地方调用上传控件上传文件,并且必须是异步上传.思考半天,想到通过创建动态表单包裹上传文件域,利用jquery.form实现异步提交表单,从而达到异步上传的目的,在上 ...

  5. form上传文件以及跨域异步上传

    要设置了enctype属性才能上传,需要使用上传的jar包,这里使用的是cos-26Dec2008.jar, 而且后台获取值的时候,getfile要放在第一位 一次设置好上传格式后没有上传文件,也就没 ...

  6. JQuery插件ajaxFileUpload 异步上传文件

    一.先对ajaxFileUpload插件的语法参数进行讲解 原理:ajaxfileupload是通过监听iframe的onload方法来实现, 当从服务端处理完成后,就触发iframe的onload事 ...

  7. 关于JQuery&period;form&period;js异步上传文件点滴

    好久没动代码了,前几天朋友委托我帮忙给做几个页面,其中有个注册带图片上传的页面.已之前的经验应该很快就能搞定,没想到的是搞了前后近一天时间.下面就说说异步上传的重要几个点,希望自己下次遇到此类问题的时 ...

  8. asp&period;net 跨域服务器 上传文件

    最近一个项目遇到问题,公司局域网中,在F域下有个服务器Fa,我们的项目就部署在Fa.项目里面有个功能,需要把生成的文件(.doc,.xls,.pdf)保存到O域的一台文件共享服务器Ob.在原有的网络环 ...

  9. struts2 jquery ajaxFileUpload 异步上传文件

    网上搜集的,整理一下. 一.ajaxFileUpload 实现异步上传文件利用到了ajaxFileUpload.js这个文件,这是别人开发的一个jquery的插件,可以实现文件的上传并能够和strut ...

随机推荐

  1. PHP实现快速排序、插入排序、选择排序

    1.快速排序 快速排序(Quicksort)是对冒泡排序的一种改进.由C. A. R. Hoare在1962年提出.它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都 ...

  2. Atitit&period;软件中见算法 程序设计五大种类算法

    Atitit.软件中见算法 程序设计五大种类算法 1. 算法的定义1 2. 算法的复杂度1 2.1. Algo cate2 3. 分治法2 4. 动态规划法2 5. 贪心算法3 6. 回溯法3 7. ...

  3. oracle 定时备份

    第一步.bat脚本: @echo off echo 删除10天前的备分文件和日志 forfiles /p "z:/back" /m *.dmp /d -10 /c "cm ...

  4. poj 2507Crossed ladders &lt&semi;计算几何&gt&semi;

    链接:http://poj.org/problem?id=2507 题意:哪个直角三角形,一直角边重合, 斜边分别为 X, Y, 两斜边交点高为 C , 求重合的直角边长度~ 思路: 设两个三角形不重 ...

  5. hdu 5210 Delete

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5210 简单题如下: #include<algorithm> #include<ios ...

  6. SSIS -&gt&semi;&gt&semi; Error Handling

    Event Handler Each task and container raises events as it runs, such as an OnError event, among seve ...

  7. 联系电话正则表达式(jquery表单验证)

    一.实现的效果图: 二.CSS样式 /*验证样式*/ .onError{ vertical-align: middle; color: #ff0000; line-height: 22px; padd ...

  8. excel2json

    原文链接 在游戏项目中一般都需要由策划制作大量的游戏内容,其中很大一部分是使用Excel表来制作的.于是程序就需要把Excel文件转换成程序方便读取的格式. 之前项目使用的Excel表导入工具都是通过 ...

  9. 五一之起一台服务器玩玩-u盘安装centos

    之前淘宝买的300块钱笔记本,就是拿来练手的,但是命令基本都知道了,不来练手,学习下去就没有动力了啊. 对于新的笔记本,我们怎么安装系统呢?能去官网就去官网,你绝对没有体验过睡一晚早上起来服务器就被黑 ...

  10. entrySet用法 以及遍历map的用法

    entrySet用法 以及遍历map的用法   keySet是键的集合,Set里面的类型即key的类型entrySet是 键-值 对的集合,Set里面的类型是Map.Entry   1.keySet( ...