jspSmartUpload是由www.jspsmart.com网站开发的一个可免费使用的全功能的文件上传下载组件,该组件具有操作简单、控制方便、上传下载灵活等特点。
下面简单介绍jspSmartUpload组件中的常用类。
File类对一个上传文件的所有信息进行了包装,可以通过它得到上传文件的文件名、文件大小、扩展名、文件数据等信息。
File类的常用方法见表4-13。
表4-13 File类的常用方法
Files类表示所有上传文件的集合,我们可以通过它得到上传文件的数目、大小等信息。Files类的常用方法见表4-14。
表4-14 Files类的常用方法
使用JSP内置的request对象不能读取文件上传表单中的表单项值,这时就必须使用jspSmartUpload组件提供的Request对象,通过它就可以像使用JSP内置的request对象一样来获取文件上传表单中的表单项值了。Request类的常用方法见表4-15。
表4-15 Request类的常用方法
具体的上传文件与下载文件的功能由SmartUpload类实现。SmartUpload类的常用方法见表4-16。
表4-16 SmartUpload类的常用方法
下面通过一个上传下载的实例,综合演示jspSmartUpload组件中各常用类(如Files类、File类、Request类及SmartUpload类)的具体用法。
在本实例中,上传文件客户端uploadFile.jsp文件(见例程4-36)采用JavaScript动态控制要上传的文件数量,同时注意将表单enctype属性值设为“multipart/form-data”,表单提交后,由upload_do.jsp文件(见例程4-37)调用jspSmartUpload组件实现文件上传的功能。其实,在服务器端处理文件上传采用HttpServlet(见例程4-38 和例程4-39)更为合理。
当用户在下载资源列表页面downloadFile.htm(见例程4-40)中单击某个下载链接后,直接调用download_do.jsp(见例程4-41),由download_do.jsp调用jspSmartUpload组件实现文件下载的功能。
例程4-36 上传文件客户端uploadFile.jsp文件
例程4-37 处理上传文件的upload_do.jsp文件
例程4-38 处理上传文件的UploadServlet.java文件
例程4-39 在web.xml中配置UploadServlet
例程4-40 下载资源列表页面downloadFile.htm
例程4-41 处理下载文件的download_do.jsp
运行效果如图4-21 和图4-22所示。
图4-21 上传文件
图4-22 下载文件
本实例的完整源代码请参考配套光盘的“源代码”部分。