文件上传
工作中遇到了“选择文件上传”按钮点击无反应的问题。经过debug,发现是已创建swfobject对象,但是并没有正确插入相应的DOM元素去。SWFUpload返回报错字符串["Flash Player doesn't support SWFUpload"].是浏览器禁用了flash插件的原因。
由此了解了一些关于文件上传的知识:
首先SWFUpload是什么?
SWFUpload是一个 JavaScript 库,其中封装了Flash Player上传功能。 SWFUpload 支持多文件选择、显示上传进度条、客户端文件大小检测等。
为什么要选择SWFUpload?为什么要用flash做上传?
因为这个可以有上传状态与进度提示。而相比与其他实现文件上传的方式:1,传统的上传要用表单,非异步;2,iframe上传有一系列安全性的考虑,会被禁用;3,HTML5的上传很cool,但IE不支持;
关于文件上传,看到了一篇博文写得很好: http://www.ruanyifeng.com/blog/2012/08/file_upload.html 文件上传的渐进式增强 阮一峰
- 传统表单元素file;
- iframe上传;
- ajax上传:FormData HTML5;
- 进度条:progress事件;
- 文件预览:FileReader对象;
- 拖放上传: HTML5
浙公网安备 33010602011771号