同时上传多个文件的解决方案
常见的方法就是在页面给出多个上传文件控件,用户分别选择文件,然后上传。Gmail的实现方式进行了改进,通过上传按钮,用户需要几个上传文件控件就可以创建几个,并且可以对创建的控件进行删除。
Yahoo邮箱和163邮箱采用的方式是,点击上传附件按钮,直接弹出文件选择框,选择之后,163邮箱的处理方式是在页面列出要上传文件名,然后发信时同步上传,而Yahoo邮箱处理方式是直接通过Ajax上传。这样做的好处:
- 用户只能选择,不能编辑,减少了用户误操作导致文件路径不对。虽然用户不能像普通上传控件一样直接输入路径,但是实际操作中有几个人是直接输入上传路径的呢?
- 用户可以看到文件名,方便确认上传文件是否正确。在IE和Firefox中,选择文件后,上传文件控件输入框显示的是整个文件路径,而文件路径又很长,输入框长度难以调节,所以很难看到文件名。
- 可以随心所欲的修改按钮的方格。原理可以看《让上传文件控件只能选择不能编辑》的方法4
- 对于选择文件后的处理方式,163邮箱直接显示文件名的方式使用户在选择的时候比较快速,但在发信时比较慢且可能存在附件发送不成功情况,Yahoo邮箱直接上传附件的方式,当用户无意选择错误的时候,可能会浪费一些带宽,但用户发信非常快且附件不宜丢失。
演示示例是类似163邮箱的处理方式。
这种处理方法还有不足是一次性不能选择多个文件,选择图片后不能预览(或许可以在IE下解决),Flickr上采用的是一种Javascript+Flash的方式,来实现一次性选择多个文件,类似方法可以看SWFUpload。(谢谢:小马、李凡)
标签:上传文件
作者:秦歌,时间:2007-09-20 22:25,归纳于:Javascript & DOM & AJAX, UX & Usability,订阅:RSS 2.0,引用:Trackback

这就开始对比老东家的不足啦?哈哈.
对163信箱里的那个弹出alert的效果有兴趣,可以写下不?
嗯,我以前有写过,回头给分离出来,不急吧,呵呵。