ajax+flash实现多文件上传
FancyUpload,用flash和mootools实现的一款多文件无刷新上传工具。
最大的特点是可以一次选择多个文件,无刷新上传。
早些时候曾想过一次选择多个文件的问题,浏览器默认的file标签一次只能选择一个文件,要浏览并读取本地文件就必须调用本地的组件或命令,所以单纯用javascript+html无解。
今天查看订阅的feeds时,无意中在Ajaxian看到这个演示图片上选择了多个文件:
非常好奇,过去看了一下demo,果然可以一次选择多个文件!
Browsfile的button没什么特别,就是一个button,肯定是通过js触发了某个动作。前面说过js和html是不能实现这个功能的,那么肯定是flash实现了这个功能。
文件里面有个Swiff.Uploader.swf,就是这个swf实现了文件浏览的功能,as在这:http://digitarald.de/workspace/packages/Uploader/Swiff.Uploader.as
google了一下flash filebrowser和flash fileupload果然找到很多内容
这片中文的详细说明了那个flash的原理:
http://www.cnblogs.com/walkingboy/archive/2007/02/09/Flash_FileUpload_FileReference.html
出处可能是这个:
http://www.codeproject.com/aspnet/FlashUpload.asp
原理是用了flash的FileReferenceList API实现的多文件选取。
http://markshu.ca/imm/flash/tutorial/fileReference.html
另外还有几个实例:
http://www.betriebsraum.de/blog/2006/01/13/download-flash-8-file-browser/
http://www.extremefx.com.ar/blog/flash-textarea