同时上传多个文件的解决方案

常见的方法就是在页面给出多个上传文件控件,用户分别选择文件,然后上传。Gmail的实现方式进行了改进,通过上传按钮,用户需要几个上传文件控件就可以创建几个,并且可以对创建的控件进行删除。

Yahoo邮箱和163邮箱采用的方式是,点击上传附件按钮,直接弹出文件选择框,选择之后,163邮箱的处理方式是在页面列出要上传文件名,然后发信时同步上传,而Yahoo邮箱处理方式是直接通过Ajax上传。这样做的好处:

  1. 用户只能选择,不能编辑,减少了用户误操作导致文件路径不对。虽然用户不能像普通上传控件一样直接输入路径,但是实际操作中有几个人是直接输入上传路径的呢?
  2. 用户可以看到文件名,方便确认上传文件是否正确。在IE和Firefox中,选择文件后,上传文件控件输入框显示的是整个文件路径,而文件路径又很长,输入框长度难以调节,所以很难看到文件名。
  3. 可以随心所欲的修改按钮的方格。原理可以看《让上传文件控件只能选择不能编辑》的方法4
  4. 对于选择文件后的处理方式,163邮箱直接显示文件名的方式使用户在选择的时候比较快速,但在发信时比较慢且可能存在附件发送不成功情况,Yahoo邮箱直接上传附件的方式,当用户无意选择错误的时候,可能会浪费一些带宽,但用户发信非常快且附件不宜丢失。

演示示例是类似163邮箱的处理方式。

这种处理方法还有不足是一次性不能选择多个文件,选择图片后不能预览(或许可以在IE下解决),Flickr上采用的是一种Javascript+Flash的方式,来实现一次性选择多个文件,类似方法可以看SWFUpload。(谢谢:小马、李凡)

标签:

作者:秦歌,时间:2007-09-20 22:25,归纳于:Javascript & DOM & AJAX, UX & Usability,订阅:RSS 2.0,引用:Trackback

有评论 2 条,发表一条评论 »

柠檬园主说:2007-09-24 9:33 #1

这就开始对比老东家的不足啦?哈哈.
对163信箱里的那个弹出alert的效果有兴趣,可以写下不?

秦歌说:2007-09-24 10:50 #2

嗯,我以前有写过,回头给分离出来,不急吧,呵呵。

发表一条评论

您可以在下面评论内容中使用下列XHTML标签:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

您或许也喜欢看:

  1. 让网页上传文件控件只能选择不能编辑
回到页眉