Flash实现无刷新上传的方法


Posted on August 16, 2008


无刷新?相信很多人会联想到AJAX,玩ASP.NET的肯定知道ATLAS吧,也许正在使用Updatepanel开发呢!

说到多文件上传,这个问题了是困拢我多时了,一直想不到有什么好的解决方法,单文件上传相信没什么大的问题,FileUpload控件加上一个Button的Onclick相信就可以很好的解决问题,多文件的话,网上很多就是多给几个FileUpload控件,让用户多远几次,实属治标不治本的方法,根本不可取,百度之间,无意发现了这样的一篇文章:http://www.cnblogs.com/yao/articles/655190.html

文章里提到了FLASH上传的方法,自然是无刷新的方法,不过还是没有能解决我的问题,因为我要的是多文件上传,文章演示的是单文件的DEMO,但相信这是一个不错的方法,是一个启示,之前没想到也实属正常,因为自己对FLASH不怎么懂。。。

不过通过他的文章倒也是发现这样的一人开源项目:http://www.codeproject.com/KB/aspnet/FlashUpload.aspx,正合我意!

这是效果图:

 从codeproject.com下载下来解压之后有三个文件,FlashUpload、FlashUpload_Web、FlashUploadFlexSrc

FlashUpload里面类库文件,一开始用VS2005打不开,修改FlashUpload.csproj可以正常用使了,这里我把修改好的传上来,方便使用,userfiles/file/FlashUpload.rar,里面的类文件不用修改,相信要修改的也是FlashFileUpload.swf,比如要将页面上显示的文字改成中文,就要重新生成FlashFileUpload.swf文件,如何生成FlashFileUpload.swf,得用FlashUploadFlexSrc文件夹里的东东, 因为对FLASH一窃不通,所以也百度了很多资料,FlashFileUpload.mxml里面基本上记录了效里图所呈现的样式的一些定义,要重新编译生成自己想要的FlashFileUpload.swf,就要用到Flex编译工具。

Flex是Macromedia发布的presentation server(展现服务),它是java web container或者.net server的一个应用,根据.mxml文件(纯粹的xml描述文件和actionscript)产生相应得.swf文件,传送到客户端,由客户端的flash player或者shockwave player解释执行,给用户以丰富的客户体验。

时间有限,下次有时间再补充完整,如何使用Flex编译器来编译相信网上有很多的文章,可以百度一下。

最后把其余的两个文件上传一下吧:userfiles/file/FlashUploadFlexSrc.rar    userfiles/file/FlashUpload_Web.rar

说明一下,FlashUpload_Web.rar里面的例子修改过了,原来从codeproject.com下载下来的有身份认证部分,我一开始看的时候非常模精,相信大家也是一样,我们要的只是上传部分,加了别的代码太啰嗦了,另外如果想上传的时候加入一些参数,如谁上传的什么的,可以在Page_Load里面加入flashUpload.QueryParameters = 。。。

就写到这里吧,好的代码一起分享,加油!


标签:N/A

 

在线学习答案查询入口
微信扫码联系
微信扫码联系