.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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |