使用jquery uploadify上传图片报302错误研究了半天,发现我上传的action中有根据session判断用户是否登录,如果没有登录就跳到登陆页,所以就出现了302跳转错误。原来更新了flash的版本以后,通过uploadify获取不到session的值。我目前的解决办法是:

Global.asax.cs中:

     /// <summary>/// 解决uploadif上传无法获取Cookie的情况/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void Application_BeginRequest(object sender, EventArgs e){try{HttpRequest request = HttpContext.Current.Request;foreach (string k in request.Form.Keys){if (k.IndexOf("cookie_") >= 0)AppendingCookies(k.Remove(0, 7), request.Form[k], request);}}catch { }}private void AppendingCookies(string cookieName, string cookieValue, HttpRequest request){HttpCookie hc = request.Cookies.Get(cookieName);if (null == hc)hc = new HttpCookie(cookieName);hc.Value = cookieValue;request.Cookies.Set(hc);}

上传方法:

        [HttpPost]public JsonResult Upload(HttpPostedFileBase fileData){string cookie_LoginUserKey = Request.Form["cookie_LoginUserKey"];if (realCookie != cookie_LoginUserKey){return Json("上传失败");}if (fileData != null){try{string CompanyId = ManageProvider.Provider.Current().CompanyId;Sys_Company model = companybll.GetEntity(CompanyId);string CompanyCode = model.Code;string folder = DateTime.Now.ToString("yyyyMM");// 文件上传后的保存路径string filePath = Server.MapPath("~/Uploads/" + CompanyCode + "/Web/" + folder + "/");if (!Directory.Exists(filePath)){Directory.CreateDirectory(filePath);}string fileName = Path.GetFileName(fileData.FileName);// 原始文件名称string fileExtension = Path.GetExtension(fileName); // 文件扩展名string saveName = Guid.NewGuid().ToString() + fileExtension; // 保存文件名称int filesize = fileData.ContentLength / 1024;if (filesize > 1024 || filesize <= 2 || (fileExtension != ".jpg" && fileExtension != ".png" && fileExtension != ".gif")){return Json(new { Success = false, Message = "上传失败!\r请上传jpg/png格式图片,文件大小不要超过2MB" }, JsonRequestBehavior.AllowGet);}else{fileData.SaveAs(filePath + saveName);return Json(new { Success = true, FilePath = "/Uploads/"  + CompanyCode + "/Web/" + folder +"/"+ saveName, SaveName = saveName });}}catch (Exception ex){return Json(new { Success = false, Message = ex.Message }, JsonRequestBehavior.AllowGet);}}else{return Json(new { Success = false, Message = "请选择要上传的文件!" }, JsonRequestBehavior.AllowGet);}}

视图中:

  $(document).ready(function () {$('#file_upload').uploadify({uploader: '/School/Sites/Upload',swf: '/Content/Scripts/uploadify3.2.1/uploadify.swf',buttonText: "请选择上传图片",height: 24,width: 120,'fileExt': '*.jpg;*.gif,*.png',                 //允许上传的文件格式为*.jpg,*.gif,*.png//'fileDesc': 'Web Image Files(.JPG,.GIF,.PNG)',  //过滤掉除了*.jpg,*.gif,*.png的文件//'queueID': 'fileQueue','sizeLimit': '2048000',                         //最大允许的文件大小为2M//'auto': false,                                  //需要手动的提交申请'multi': false,                                 //一次只允许上传一张图片formData: { @foreach(string k in Request.Cookies.AllKeys){@:'cookie_@(k)' : '@Request.Cookies[k].Value',}'': ''},'onUploadSuccess': function (file, data, response) {var obj = jQuery.parseJSON(data); //把返回的Json序列转化为obj对象if (obj.Success) {//alert(obj.FilePath);$('#PictureUrl').val(obj.FilePath);$('#pic').attr("src", obj.FilePath);$('#pic').show();}elsealert(obj.Message);}});});

转载于:https://www.cnblogs.com/yechangzhong-826217795/p/5856232.html

MVC中使用jquery uploadify上传图片报302错误相关推荐

  1. php上传图片302错误,解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法...

    最近用ThinkPHP开发一个项目,集成了批量上传文件插件Uploadify,在谷歌Chrome和IE下都能正常上传,只有火狐下提示这个错误,网上找了很多解决办法,基本都说flash在firefox下 ...

  2. mvc中html对象的方法吗,在MVC中使用jQuery模板进行HTML编码的Json对象

    所以我有能力在我的网站上发表评论.用户进入场命中"后"和我阿贾克斯评论回到其在该行动的结果在MVC中使用jQuery模板进行HTML编码的Json对象 public ActionR ...

  3. [转]如何在.NET MVC中使用jQuery并返回JSON数据

    本文转自:http://blog.sina.com.cn/s/blog_48e42dc90100xp1p.html 二.开始实践 - jQuery端 假设我们要从服务器端获取一个文章列表,并把文章条目 ...

  4. swfupload在xp系统上360极速模式报302错误解决方法

    swfupload有时在谷歌或火狐内核丢失session,有拦截器验证登录时会报302错误. 解决思路是在前台获取jsessionid,上传时一并传入后台,在拦截器通过请求的jsessionid获取s ...

  5. ajax的post请求出现403错误,如何解决Django中ajax发送post请求报403错误CSRF验证失败的问题...

    如何解决Django中ajax发送post请求报403错误CSRF验证失败的问题 发布时间:2021-02-05 14:23:57 来源:亿速云 阅读:92 作者:小新 这篇文章主要介绍了如何解决Dj ...

  6. websocket本地调试运行正常,部署服务器报302错误

    前后端分离项目,本地调试运行一切正常.部署到服务器后,websocket连接报错. 报错: Error during WebSocket handshake: Unexpected response ...

  7. 在Python Shell中输入print 'hello'总是报语法错误

    在Python3.1的shell中输入print 'hello',居然报语法错误!!!(SyntaxError: invalid syntax) 后来查询后发现,要这样输入: print('hello ...

  8. Kibana中的Coordinate Map地图报索引错误的问题

    今天做地图定位展示,展示的是ApacheWeb服务器的访问日志文件中的来源IP.但是中间出现了报错环节,说是索引不能匹配到geo_point类型,实在是不懂这是在说什么,后来在网站找了方法就解决了.主 ...

  9. fragment 中调用getactivity()的时候报 nullpoint错误

    好久没记录了,最近好一顿折腾,终于要结束了.今天发现了一个问题: 在fragment中用到getactivity()竟然报nullpoint错误.当时看了log吓着了,这也能报null,百度一通,原来 ...

最新文章

  1. 你所知道的深度学习发展史及核心节点事件?
  2. 【Python学习笔记】异常处理try-except
  3. flink读取不到文件_日处理数据量超10亿:友信金服基于Flink构建实时用户画像系统的实践...
  4. NYOJ 1023 还是回文(DP,花最少费用形成回文串)
  5. 关于eclipse的一些简单配置
  6. 知乎万赞回答!如何在一周内快速摸清一个行业?
  7. java设计模式_抽象工厂
  8. 季节怎么形容_描写四季冬的词语 形容冬天季节的词语
  9. b java 之 serviceLoader详解 serviceLoader.load(XXX.class)
  10. Airtest自动化测试——批量执行脚本(实测)
  11. 【MySQL】在MySQL中如何给表起别名
  12. 网络系统管理 - C模块 - Centos7.9 - Iptables
  13. 前景检测算法(七)--ViBe算法
  14. layui 日期选择器 laydate详细参数用法大全,一键复制粘贴
  15. 如何把图片转换jpg格式呢?
  16. 递归+回溯+DFS+BFS
  17. 鸿蒙系统支持高清通话吗,电信VoLTE开通方法介绍 所有注意点全在这了
  18. 关于CASIO系列可编程计算器在公路施工测量中的应用
  19. 武汉Uber优步司机奖励政策
  20. 组合逻辑电路设计(三变量表决器、半加器、全加器)

热门文章

  1. 念念不忘,必有回响!6月更文活动的一些总结
  2. springBoot整合rabbitmq并测试五种常用模型
  3. WPD 从便携设备拷贝文件到PC文件不完整的解决办法
  4. golang解析嵌套yaml配置(局部解析)
  5. 蛙蛙推荐:在c#使用IOCP(完成端口)的简单示例
  6. Android已读未读功能,Android实现小圆点显示未读功能
  7. python怎样播放音乐_Python如何播放音乐?
  8. 储存服务器装什么系统,存储服务器是什么操作系统
  9. String与字节数组转换
  10. 内核参数 linux dd,Linux dd 命令详解(测磁盘的吞吐量)