Ajax与JSF组件实现文件上传
一、 引言基于浏览器的文件上传,特别是对于通过<input type="file">标签包含到Web页面来实现上传的情况,还存在较严重的性能问题。我们知道,超过10MB的上传文件经常导致一种非常痛苦的用户体验。一旦用户提交了文件,在浏览器把文件上传到服务器的过程中,界面看上去似乎处于静止状态。由于这一切发生在后台,所以许多没有耐心的用户开始认为服务器"挂"了,因而再次提交文件,这当然使得情况变得更糟糕。
为了尽可能使得文件上传感觉更友好些,一旦用户提交文件,许多站点将显示一个中间过程动画(例如一旋转图标)。尽管这一技术在上传提交到服务器时起一些作用,但它还是提供了太少的有关文件上传状态的信息。解决这个问题的另外一种尝试是实现一个applet——它通过FTP把文件上传到服务器。这一方案的缺点是:限制了你的用户,必须要有一个支持Java的浏览器。
在本文中,我们将实现一个具有AJAX能力的组件——它不仅实现把文件上传到服务器,而且"实时地"监视文件上传的实际过程。这个组件工作的四个阶段显示于下面的图1,2,3和4中:
http://90000cn.cn/Upfiles/BeyondPic/chengxusheji/Java/2007-09/20070922013752283.jpg
图1.阶段1:选择文件上传
http://90000cn.cn/Upfiles/BeyondPic/chengxusheji/Java/2007-09/20070922013752635.jpg
图2.阶段2:上传该文件到服务器
http://90000cn.cn/Upfiles/BeyondPic/chengxusheji/Java/2007-09/20070922013752490.jpg
图3.阶段3:上传完成
http://90000cn.cn/Upfiles/BeyondPic/chengxusheji/Java/2007-09/20070922013752455.jpg
图4.阶段4:文件上传摘要
页:
[1]