找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2108|回复: 12

ASP.NET Uploadify上传Flash控件无法传递Session和Cookie的解决方案

 火.. [复制链接]
  • 打卡等级:即来则安
  • 打卡总天数:29
  • 打卡月天数:1
  • 打卡总奖励:7791
  • 最近打卡:2025-12-13 17:25:16

2540

主题

1353

回帖

2万

积分

管理员

积分
21301
发表于 2021-10-5 15:44:54 | 显示全部楼层 |阅读模式
ASP.NET项目中应用到Uploadify上传插件,在后台接受文件进行身份的登录验证时,无法获取Cookie和Session,起初只能使用无验证状态上传,这样无疑给安全性带来严重的后果。

项目中Uploadify版本:2.1.4,下面将讲述实现获取Cookie的方法。

1.在前端页面获取Cookie内容, 将Cookie内容放在scriptData中,在上传文件进行提交的时候,Cookie作为表单参数一起传递。
  1. <script type="text/javascript">
  2.     $(document).ready(function () {
  3.         $('#upfiles').uploadify({
  4.             'scriptData': {
  5.                 'cookie': '这里放入Cookie内容'
  6.             },
  7.             'uploader': 'uploadify/v2.1.4/uploadify.swf',
  8.             'cancelImg': 'uploadify/v2.1.4/cancel.png',
  9.             'buttonImg': 'uploadify/v2.1.4/upload-image.png',
  10.             'width': 80,
  11.             'height': 25,
  12.             'buttonText': '选择文件',
  13.             'script': 'Upload.ashx',
  14.             'fileDataName': 'filedata',
  15.             'fileDesc': '*.jpg;*.jpeg;*.gif;*.png;',
  16.             'fileExt': '*.jpg;*.jpeg;*.gif;*.png;',
  17.             'sizeLimit': 1024 * 1024 * 6, // 文件大小限制 6M
  18.             'simUploadLimit': 10,
  19.             'multi': false,
  20.             'auto': true,
  21.             'onComplete': function (vent, queueId, fileObj, response, data) {
  22.                 //上传成功
  23.                 concole.log(jQuery.parseJSON(response));
  24.             },
  25.             'onError': function (event, queueId, fileObj, errorObj) {
  26.                 //错误时触发
  27.                 //错误的类型,有三种'HTTP', 'IO', or 'Security'
  28.                 //错误的描述
  29.                 if (fileObj.size > iMaxFileSize) {
  30.                     setTimeout('$("#upfiles").uploadifyCancel(' + queueId + ')', 2000);
  31.                 }
  32.             }
  33.         });

  34.     });
  35. </script>
  36. <!--/Uploadify-->
复制代码
2.Upload.ashx页面中获取Cookie参数值,context.Request.Form["cookie"]

Uploadify v2.1.4使用的是flash进行文件上传,后台无法直接读取Cookie和Session,只能将Cookie作为表单参数一起传递,虽然需要额外的逻辑处理,但是可以解决用户登录验证问题。

以上是Cookie获取的解决办法,如果使用的是Session,将表单参数内容更换为SessionId,后端再通过SessionId获取服务端Session信息。

来源:C#社区

工控课堂 www.gkket.com

0

主题

99

回帖

250

积分

注册会员

积分
250
发表于 2021-10-5 16:20:52 | 显示全部楼层
无私奉献,好工控人,32个赞送给你!!
工控课堂 www.gkket.com

0

主题

1672

回帖

4321

积分

金牌会员

积分
4321
发表于 2021-10-5 17:34:36 | 显示全部楼层
感谢楼主无私分享!
工控课堂 www.gkket.com

0

主题

99

回帖

146

积分

新手上路

积分
146
发表于 2025-11-12 14:47:36 | 显示全部楼层
水贴也要有仪式感,我先来打卡~
工控课堂 www.gkket.com

0

主题

73

回帖

109

积分

新手上路

积分
109
发表于 2025-11-12 15:18:40 | 显示全部楼层
学到了学到了,这波分享太实用啦!
工控课堂 www.gkket.com

0

主题

94

回帖

142

积分

新手上路

积分
142
发表于 2025-11-12 16:25:34 | 显示全部楼层
赞同 + 10086,完全说出了我的想法!
工控课堂 www.gkket.com

0

主题

108

回帖

377

积分

注册会员

积分
377
发表于 2025-11-12 18:59:55 | 显示全部楼层
画面感太强了,仿佛身临其境!
工控课堂 www.gkket.com

0

主题

90

回帖

137

积分

新手上路

积分
137
发表于 2025-11-12 19:09:51 | 显示全部楼层
不请自来,只为说一句:太精彩了!
工控课堂 www.gkket.com

0

主题

61

回帖

87

积分

新手上路

积分
87
发表于 2025-11-16 20:02:34 | 显示全部楼层
打卡路过,支持优质原创内容~
工控课堂 www.gkket.com

0

主题

126

回帖

342

积分

注册会员

积分
342
发表于 2025-11-16 20:38:56 | 显示全部楼层
楼主辛苦啦,期待下一篇分享!
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 15:50 , Processed in 0.114119 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表