如今,咱们在作文件上传的时候,仍是须要依托flash技术。由于HTML默认的文件上传域有一些的兼容性问题和局限性。好比,我直接使用html
<!-- lang: html --> <input type="file" name="file" />
会发如今浏览器里有不一样的显示,界面不太友好。另外,这个文件域一次只能选择一个文件,不能选择多个文件。可想而知,若是是大量的图片上传会多么痛苦。前端
我注意到不少朋友在使用jQuery Uploadify这款插件去作文件上传。我也试用了一下,这款插件整合了flash技术,将上传的核心功能封装起来,为用户提供了Javascript接口,使用起来比较方便。浏览器
然而,很快我便发现,该插件有一些局限性,其中最主要的是没法从服务器段返回自定义数据。也就是说,我上传文件成功后,若是在后台对文件进行了重命名,将没法返回新的文件名到前台。只能经过将文件名存放到session中,而后再获取到。这不是一个很好的解决办法,大量的向session存储数据会下降数据的可靠性,引起一些冲突性的问题。前端框架
因此,我决定放弃jQuery Uploadify。我又找到了一款插件,叫swfupoad。试用了一下,刚上手时有点问题,主要是文档写的不够清晰,我花了快一个小时才作好一个demo。这款插件作的不错,它能够向前台传回任何后台输出的数据,包括新的文件名,甚至文件的内容。并且他支持的事件比较多,这恰好解决了个人问题。测试了一段时间,比较稳定,我作了一些封装,放到了本身的前端框架里,之后就用它了。服务器
这是swfupload的官方网站: http://demo.swfupload.org/v220/index.htmsession