smartupload

转载

上传下载组件SmartUpload使用方法

本篇将讲述java常用的上传/下载组件 SmartUpload 的详细java的朋友不会陌生,几乎在所有的B/S架构的项目或者产品中都会用到文件的上传/下载。

关于SmartUpload组件可以在本篇下面的附件中下载。(已经解决上传/下载中文文件名的乱码问题,本人的开发环境均为UTF-8环境)

1)文件上传


Html代码

1         <%@ page contentType="text/html;charset=UTF-8"%><%@ page import="com.soft4j.httpupload4j.SmartUpload"%><%@ page import="com.soft4j.bo.WebFileMgr"%><%  

2             String ret = null;  

3             SmartUpload su = null;  

4             try{  

5                 su = new SmartUpload();  

6                 su.initialize(pageContext);  

7                 su.upload();  

8                 ret = WebFileMgr.upload(su,pageContext);//WebFileMgr.java 处理文件上传  

9                 if(ret!=null){   

10                  out.print("successed");  

11              }  

12          }catch(Exception e){  

13              out.print("faild");  

14          }finally{  

15              su = null;  

16          }  

17      %> 



WebFileMgr.upload(su,pageContext)
方法内容:

Java代码

18        /**

19      * 上传方法.

20      * @param su

21      * @param pageContext

22      * @return

23      * @throws Exception

24      */ 

25        public static String upload(SmartUpload su,PageContext pageContext) throws Exception {  

26            com.soft4j.httpupload4j.File suFile = null;  

27            int fileCount = 0;  

28            int maxFileSize = 900;//单个文件最大为900K 

29            String AllowedExtensions=",jpg,jpeg,gif,png,";//允许上传的文件类型 

30            try {  

31                   

32                for (int i=0; i<su.getFiles().getCount();i++) {  

33                    suFile = su.getFiles().getFile(i);  

34                    if (suFile.isMissing())  

35                        continue;  

36                    fileSize = suFile.getSize()/1024;//字节转换成KB 

37                    if(fileSize==0) fileSize=1;  

38        

39                    if(maxFileSize<fileSize) throw new Exception("单个上传文件的容量不能超过["+maxFileSize+"KB]");  

40        

41                    if (suFile.getFileExt() == null 

42                            || "".equals(suFile.getFileExt())) {  

43                        fileExt = ",,";  

44                    } else {  

45                        fileExt = "," + suFile.getFileExt().toLowerCase() + ",";  

46                    }  

47        

48                    if (!"".equals(AllowedExtensions)  

49                            && AllowedExtensions.indexOf(fileExt) == -1) {  

50                        throw new Exception("您上传的文件[" + suFile.getFileName()  

51                                + "]的类型为系统禁止上传的文件类型,不能上传!");  

52                    }  

53        

54                    fileCount++;  

55                }  

56                if (fileCount==0) throw new Exception("请选择上传的文件");  

57        

58                StringBuffer fullFileName = null;//保存到服务器上的文件名(带路径) 

59                for (int i=0; i<su.getFiles().getCount();i++) {  

60                    suFile = su.getFiles().getFile(i);  

61                    if (suFile.isMissing()) continue;  

62                    fullFileName = new StringBuffer("文件的路径");//填写 文件的路径 

63                    fullFileName.append("文件名");//填写 文件名 

64                    suFile.saveAs(fullFileName.toString(),SmartUpload.SAVE_PHYSICAL);  

65                }  

66                return "successed";  

67            } finally {  

68              // 

69            }  

70        } 



上面的JSP,Java代码就可以实现文件的上传.

2)文件下载


下载相对更为简单,只要设定下载的文件名(带路径)就可以了.

Html代码

71      <%@ page contentType="text/html;charset=UTF-8"%> 

72      <%@ page import="com.soft4j.httpupload4j.SmartUpload"%> 

73      <%  

74          //新建一个SmartUpload对象  

75          SmartUpload su = new SmartUpload();  

76          //初始化  

77          su.initialize(pageContext);  

78          //设定要下载的文件名(带路径)  

79          String fileName="下载的文件名";//文件名(带路径)  

80          try{  

81              su.downloadFile(fileName);//下载文件  

82          }catch(Exception e){  

83              e.printStackTrace();  

84              out.println(e.toString());  

85          }  

86          response.getOutputStream().close();  

87      %> 





附录:
(1).
解决中文问题的修改说明.参见[zip压缩包中的SmartUpload.java]
(2). smartupload.zip

http://dl.javaeye.com/topics/download/b3f67e80-1177-31e5-b9af-9f3bce293e70


你可能感兴趣的:(jsonp)