.net中使用SWFUpload上传图片

SWFUpload是一个客户端文件上传工具,官网http://code.google.com/p/swfupload/ 其中常用的功能之一便是上传图片(可批量)在线Demo http://demo.swfupload.org/v220/applicationdemo/index.php (.net版本)

具体的使用请参考官方文档

一从大体上来说,swfUpload主要有这样几个重要的文件

1.swfupload_f9.swf 这个是核心的上传用的flash文件.

2.upload.aspx 这个是把文件上传到服务器上后,所要处理的页面.

3.default.css 用于显示进度条的CSS文件.可以根据自己喜好进行修改!

4.swfupload.js 定义了swfupload_f9组建的属性和一些方法.(最好不好动).

5.handler.js 定义了,用于处理swfupload_f9组建所触发的事件.可以根据自己需要,进行修改.

解压附件,打开其中的Default.aspx 是前台上传图片页面,页面的JS代码很容易看懂

打开upload.aspx,是处理上传图片的,在Demo中是生成缩略图,我在代码中又设置了文件保存路径,以及对上传图片进行了重命名。有不懂的童鞋可以用VS打开附件进行查看。

下面说些常见问题

IE9下面“选择照片”按钮不显示(SWFUpload ie9 bug)

解决办法,修改swfupload.js文件getFlashHTML

添加classid=”clsid:d27cdb6e-ae6d-11cf-96b8-444553540000″

但我发现官方的DEMO是在IE9下显示正常的,很奇怪。而且发现添加了这个后Firefox和Chrome下又显示异常了。。。去掉后除IE9下显示异常外,其他浏览器正常,我想这应该还是归因于ie9的bug吧。

Firefox,Chrome 报错302(Firefox , Chrome SWFUpload 302 )

附件中即为官方版本

swfupload是flash采用socket和服务端进行通信了,所以服务端的session值或cookie值在这时候是捕获不到了。在默认的情况下ie是不存在获取不到seesion或cookie值的,然而对于firefox或chrome在dotnet环境下都是不能获取session和cookie值的。

通过 Global.asax 文件你可以覆盖丢失的Session ID cookie,代码如下(引用官方解决方案):

Global.asax修改如下:

void Application_BeginRequest(object sender, EventArgs e)

void UpdateCookie(string cookie_name, string cookie_value)

另附

设置保存图片路径和,返回图片保存路径

附件下载地址:http://download.csdn.net/detail/nonfuxinyang/4343483


  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏作者

名贤集

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值