0
点赞
收藏
分享

微信扫一扫

.net中使用SWFUpload上传图片

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

一从大体上来说,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)

另附

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


举报

相关推荐

0 条评论