首页 > 代码库 > struts中文件的上传和下载

struts中文件的上传和下载

首先我们还是新建一个新的web project 取名为upload_test 

然后在WebRoot中新建两个jsp页面 upload.jsp 和result.jsp 

代码分别如下: 
upload.jsp 
Jsp代码  收藏代码
  1. <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>  
  2. <%  
  3. String path = request.getContextPath();  
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  5. %>  
  6.   
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  8. <html>  
  9.   <head>  
  10.     <base href=http://www.mamicode.com/"<%=basePath%>">  
  11.       
  12.     <title>My JSP ‘index.jsp‘ starting page</title>  
  13.     <meta http-equiv="pragma" content="no-cache">  
  14.     <meta http-equiv="cache-control" content="no-cache">  
  15.     <meta http-equiv="expires" content="0">      
  16.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  17.     <meta http-equiv="description" content="This is my page">  
  18.     <!--  
  19.     <link rel="stylesheet" type="text/css" href=http://www.mamicode.com/"styles.css">  
  20.     -->  
  21.   </head>  
  22.     
  23.   <body>  
  24. <form action=‘result.jsp‘ name=‘upload‘>  
  25.                             username : <input name=‘name‘ type=‘text‘><br>  
  26.                             file : <input name=‘file‘ type=‘file‘ >  
  27.                             <br>  
  28.                             <input type=‘submit‘  value=http://www.mamicode.com/‘submit‘ name=‘submit‘>  
  29.                     </form>  
  30.   
  31.   
  32.   </body>  
  33. </html>  


然后是result.jsp页面: 
Jsp代码  收藏代码
  1. <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>  
  2. <%  
  3. String path = request.getContextPath();  
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  5. %>  
  6. <%@ page import=‘java.io.*‘ %>  
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  8. <html>  
  9.   <head>  
  10.     <base href=http://www.mamicode.com/"<%=basePath%>">  
  11.       
  12.     <title>My JSP ‘result.jsp‘ starting page</title>  
  13.       
  14.     <meta http-equiv="pragma" content="no-cache">  
  15.     <meta http-equiv="cache-control" content="no-cache">  
  16.     <meta http-equiv="expires" content="0">      
  17.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  18.     <meta http-equiv="description" content="This is my page">  
  19.     <!--  
  20.     <link rel="stylesheet" type="text/css" href=http://www.mamicode.com/"styles.css">  
  21.     -->  
  22.   
  23.   </head>  
  24.     
  25.   <body>  
  26.               
  27.   
  28.                                    <%  
  29.                                                 InputStream is  = request.getInputStream();          //         新建一个inputstream对象  注意应该在这个页面中导入java.io.*包  
  30.                                                    
  31.                                                  BufferedReader bu = new BufferedReader( new InputStreamReader(is));                  // 将输入的内容转换成字符流  
  32.                                                    
  33.                                                  String buffer = null;  
  34.                                                    
  35.                                                  while( (buffer = bu.readLine()) != null )                        //如果还有内容 怎继续输出  
  36.                                                  {  
  37.                                                      out.print(buffer+"<br>");  
  38.                                                  }  
  39.                                      
  40.                                    %>  
  41.   </body>  
  42. </html>  


这样的基本课可以上传了 
点击文件后点击提交 那么跳转到了result.jsp页面 可是没有任何信息输出 这是怎么回事呢 
这里要注意的是 在文件上上传的表单中必须要包含两个内容 
method=‘post‘ 还有 enctype=‘multipart/form-data‘ 
加上这两个内容后,再试一次 就成功了