四届云计算大会门票抢购:史上最低价,每日限5张! 【分享季1】:网友推荐130个经典资源,分享再赠分!
使用jspSmartUpload组件进行文件上传、下载
.
分类: 程序
设计-----jsp/Servlet2011-10-09 23:37279人阅读评论(3)收藏举报
jspSmartUpload组件是一个可以
免费使用的文件上传与下载组件。用户可以把他安装在web服务器上,再进行使用。
jspSmartUpload组件使用非常简单。在jsp文件中仅需要写几行代码就可以实现文件的上传、下载。并能够全程控制上传。利用jspSmartUpload|组件提供的对象及其操作方法,可以获得全部上传、下载的信息,如文件名,大小,类型、扩展名。。。。以方便文件的存取;能对上传的文件在大小、类型等方面做出限制。这样就可以过滤掉不符合要求的文件;下载灵活。只须写很少的代码就能把
web服务器变成文件服务器,不管文件在不在web服务器的目录下,都可以利用该组件进行下载。
在使用jspSmartUpload时,必须将该组件放在项目中相应的目录里,如:WebRoot/WEB-INF/lib
一、文件上传
下面是一个jsp页面,表单中有4个文件输入文本框,可以同时上传4个文件:
[html] view plaincopyprint?
01.
当然可以设置同时上传更多的文件......
servlet处理程序:
[java] view plaincopyprint?
01.String path ="D:/work space/JSP workspace/jsp_servlet_upAndLoad/file/upLoad";
02. //新建一个jsmartUpLoad对象
03. SmartUpload smartUpload = new SmartUpload();
04. //上传初始化
05. smartUpload.initialize(this.getServletConfig(),request,response);
06. try {
07. //设定上传限制
08. //限制每个上传文件的最大长度;将最大设定为1024*1024*20
09. smartUpload.setMaxFileSize(1024*1024*10);
10. //限制总上传数据的长度
11. smartUpload.setTotalMaxFileSize(1024*1024*20);
12. //限制允许上传的文件类型、允许doc、txt、bat文件
13. smartUpload.setAllowedFilesList("doc,txt,bat");
14. //限制禁止上传的文件类型,禁止exe、jsp、和没有扩展名的文件
15. smartUpload.setDeniedFilesList("exe,jsp,,");
16. //上传文件
17. smartUpload.upload();
18. //将文件保存到指定的目录下
19. smartUpload.save(path);
20. } catch (SQLException e) {
21. e.printStackTrace();
22. } catch (SmartUploadException
e) {
23. e.printStackTrace();
24. }
25.
26. //逐一提取文件信息,同时输出上传文件的信息
27. for (int i = 0; i < smartUpload.getFiles().getCount(); i++) {
28. com.jspsmart.upload.File myFile =smartUpload.getFiles().getFile(i);
29. //若文件表单中的文件选项没有选择文件则继续
30. if(myFile.isMissing())
31. continue;
32. //显示当前文件的信息
33. response.setContentType("text/html;charset=utf-8");
34. PrintWriter out = response.getWriter();
35. out.println("
");
36. out.println("表单选项 | "+myFile.getFieldName()+" |
");
37. out.println("文件长度: | "+myFile.getSize()+" |
");
38. out.println("文件名 | "+myFile.getFileName()+" |
");
39. out.println("文件扩展名 | "+myFile.getFileExt()+" |
");
40. out.println("文件全名 | "+myFile.getFilePathName()+" |
");
41. out.println("
");
42. }
该
程序直接使用SmartUploa对象来实现文件上传。在申请对象后,必须要对其进行初始化:smartUpload.initialize(this.getServletConfig(),request,r