找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1910|回复: 12

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

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

2540

主题

1353

回帖

2万

积分

管理员

积分
21301
发表于 2021-10-24 12:14:53 | 显示全部楼层 |阅读模式
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信息。

工控课堂 www.gkket.com

0

主题

111

回帖

240

积分

注册会员

积分
240
发表于 2021-10-24 12:14:54 | 显示全部楼层
看这种帖子就要有种“雾里看花”的意境。
工控课堂 www.gkket.com

0

主题

296

回帖

1149

积分

中级会员

积分
1149
发表于 2021-10-24 12:37:38 | 显示全部楼层
论坛有你更精彩!
工控课堂 www.gkket.com

0

主题

91

回帖

417

积分

注册会员

积分
417
发表于 2025-11-16 20:21:02 | 显示全部楼层
来凑个热闹,增加点人气~
工控课堂 www.gkket.com

0

主题

78

回帖

343

积分

注册会员

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

0

主题

467

回帖

2566

积分

高级会员

积分
2566
发表于 2025-11-16 20:48:51 | 显示全部楼层
水个经验,支持楼主,加油呀
工控课堂 www.gkket.com

0

主题

48

回帖

71

积分

新手上路

积分
71
发表于 2025-11-16 20:49:29 | 显示全部楼层
我先占个楼,等下再慢慢看~
工控课堂 www.gkket.com

0

主题

77

回帖

257

积分

注册会员

积分
257
发表于 2025-11-16 20:51:48 | 显示全部楼层
救命!这回复笑到我捶桌,必须置顶~
工控课堂 www.gkket.com

0

主题

115

回帖

216

积分

注册会员

积分
216
发表于 2025-11-16 21:02:06 | 显示全部楼层
已转发给朋友,一起感受这份快乐~
工控课堂 www.gkket.com

0

主题

129

回帖

339

积分

注册会员

积分
339
发表于 2025-11-16 21:03:04 | 显示全部楼层
不请自来,只为说一句:太精彩了!
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

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

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

GMT+8, 2025-12-22 12:59 , Processed in 0.114337 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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