SmartUpload上传文件(转载)

实现文件的上传
 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
 2 <html> 
 3 <head> 
 4 <title>文件上传</title> 
 5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
 6 </head> 
 7 
 8 <body> 
 9 <p>&nbsp;</p> 
10 <p align="center">上传文件选择</p> 
11 <form method="POST" action="do_upload.jsp" enctype="multipart/form-data" > 
12 
13 <input type="hidden" name="TEST" value="good"> 
14 <table width="75%" border="1" align="center"> 
15 
16 
17 <tr> 
18 <td><div align="center">119 <input type="FILE" name="FILE1" size="30"> 
20 </div></td> 
21 
22 </tr> 
23 <tr> 
24 <td><div align="center">225 <input type="FILE" name="FILE2" size="30"> 
26 </div></td> 
27 </tr> 
28 
29 <tr> 
30 <td><div align="center">331 <input type="FILE" name="FILE3" size="30"> 
32 </div></td> 
33 </tr> 
34 
35 <tr> 
36 <td><div align="center">437 <input type="FILE" name="FILE4" size="30"> 
38 </div></td> 
39 </tr> 
40 
41 <tr> 
42 <td><div align="center"> 用户名:
43 <input type="text" name="username" >
44 </div></td> 
45 </tr> 
46 
47 <tr> 
48 <td><div align="center"> 
49 <input type="submit" name="Submit" value="提交"> 
50 </div></td> 
51 </tr> 
52 
53 
54 </table> 
55 </form> 
56 </body> 
57 </html> 
upload.html
 1 <%@ page contentType="text/html; charset=gb2312" language="java" 
 2 import="java.util.*,com.jspsmart.upload.*" errorPage="" %> 
 3 <html> 
 4 <head> 
 5 <title>文件上传处理页面</title> 
 6 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
 7 </head> 
 8 
 9 <body> 
10 
11 <% 
12     // 新建一个SmartUpload对象 
13     SmartUpload su = new SmartUpload(); 
14     // 上传初始化 ,PageContext是jsp的内置对象,在servlet不能直接使用,需要做一些处理
15     su.initialize(pageContext); //
16     // 设定上传限制 
17     
18     // 1.限制每个上传文件的最大长度。 
19     su.setMaxFileSize(100000); 
20     // 2.限制总上传数据的长度。 
21     su.setTotalMaxFileSize(200000); 
22     // 3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt,jpg文件。 
23     su.setAllowedFilesList("doc,txt,jpg"); 
24     // 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat, jsp,htm,html扩展名的文件和没有扩展名的文件。 
25     su.setDeniedFilesList("exe,bat,jsp,htm,html"); 
26     
27     
28     // 上传文件 
29     su.upload(); //同名的文件会被覆盖
30     // 将上传文件全部保存到Tomcat指定目录 
31     int count = su.save("/upload",SmartUpload.SAVE_VIRTUAL); 
32     out.println(count+"个文件上传成功!<br>"); 
33     
34     // 利用Request对象获取参数之值 
35     out.println("username="+su.getRequest().getParameter("username")+"<br><br >"); 
36 
37     // 逐一提取上传文件信息,同时可保存文件。 
38     for (int i=0;i<su.getFiles().getCount();i++){ 
39     
40         //Files类:所有上传文件的集合
41         //getCount取得上传文件的数目
42         //getFile取得指定位移处的文件对象File
43         //getSize取得上传文件的总长度,可用于限制一次性上传的数据量的大小
44         
45         
46         com.jspsmart.upload.File file = su.getFiles().getFile(i); 
47          //SmartUpload类   getFiles取得所有上传文件,以File对象形式返回
48         // 若文件不存在则继续(isMissing 判断用户是否选择了文件,也即对应的表单项是否有值。
49         //选择了文件时,它返回false,未选文件时,它返回true)
50         if (file.isMissing()) continue; 
51          file.saveAs("D:\Workspaces\MyEclipse 10\Test\WebRoot\upload\" + file.getFileName(), su.SAVE_PHYSICAL);
52 
53         // 显示当前文件信息 
54         out.println("<TABLE BORDER=1>"); 
55         out.println("<TR><TD>表单项名(FieldName)</TD><TD>" 
56         + file.getFieldName() + "</TD></TR>"); 
57         out.println("<TR><TD>文件长度(Size)</TD><TD>" + 
58         file.getSize() + "</TD></TR>"); 
59         out.println("<TR><TD>文件名(FileName)</TD><TD>"
60         + file.getFileName() + "</TD></TR>"); 
61         out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>" 
62         + file.getFileExt() + "</TD></TR>"); 
63         out.println("<TR><TD>文件全名(FilePathName)</TD><TD>" 
64         + file.getFilePathName() + "</TD></TR>"); 
65         out.println("</TABLE><BR>"); 
66         
67         // 将文件另存 
68         // file.saveAs("/upload/" + myFile.getFileName()); 
69         // 另存到以WEB应用程序的根目录为文件根目录的目录下 
70          //file.saveAs("D:\Workspaces\MyEclipse 10\Test\WebRoot\upload\" + file.getFileName(), su.SAVE_PHYSICAL); 
71         // 另存到操作系统的根目录为文件根目录的目录下 
72         // file.saveAs("c:\temp\" + myFile.getFileName(), su.SAVE_PHYSICAL); 
73 
74     } 
75 %> 
76 
77 </body> 
78 </html> 
do_upload.jsp
实现文件的下载
 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
 2 <html> 
 3 <head> 
 4 <title>下载</title> 
 5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
 6 </head> 
 7 <body> 
 8 <a href="do_download.jsp">点击下载</a> 
 9 </body> 
10 
11 </html> 
download.html
 1 <%@ page contentType="text/html;charset=gb2312" 
 2 import="com.jspsmart.upload.*" %>
 3 <% 
 4     // 新建一个SmartUpload对象 
 5     SmartUpload su = new SmartUpload(); 
 6     // 初始化 
 7     su.initialize(pageContext); 
 8     // 设定contentDisposition为null以禁止浏览器自动打开文件, 
 9     //保证点击链接后是下载文件。若不设定,则下载的文件扩展名为 doc时,
10     //浏览器将自动用word打开它。扩展名为pdf时, 浏览器将用acrobat打开。 
11     su.setContentDisposition(null); 
12     // 下载文件 
13     su.downloadFile("/upload/01.jpg"); 
14 %> 
do_download.jsp
原文地址:https://www.cnblogs.com/-rfq/p/7147750.html