posts - 60,comments - 71,trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(6)

          我參與的團隊

          隨筆檔案

          文章分類

          文章檔案

          博客集錦

          資源與技術網站

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          1,  jsp 頁面的代碼

          <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
          <html>
           
            
          <body> 
                                                           
          <!-- encType 必不可少 -->
              
          <form action="upImgServlet" method="post" encType=multipart/form-data>
                  
                  描述:
                  
          <input type="text" name="description"/><br/>選擇圖片:
                  
          <input type="file" name="img"/>
                  
          <input type="submit" value="提交"/>
              
          </form>
            
          </body>
          </html>

          2, UpImgServlet 的代碼.

           


          public class UpImgServlet extends HttpServlet {

              
          public void destroy() {
                  super.destroy(); 
          // Just puts "destroy" string in log
                  
          // Put your code here
              }


              
          public void doGet(HttpServletRequest request, HttpServletResponse response)
                      throws ServletException, IOException 
          {

                  response.setContentType(
          "text/html");
                  request.setCharacterEncoding(
          "UTF-8");
                  response.setCharacterEncoding(
          "UTF-8");

                  
          // org.apache.commons.fileupload.DiskFileUpload 是一個開源包里的。
                  DiskFileUpload du = new DiskFileUpload();
                  du.setSizeMax(
          4194304); // 設置最大文件尺寸,這里是4MB
                  du.setSizeThreshold(4096);// 設置緩存區大小 ,4 kb;
                  
          // up 為 /WebRoot 下的 一個目錄
                  du.setRepositoryPath(request.getSession().getServletContext()
                          .getRealPath(
          "/up"));// 設置緩存目錄

                  
          // 得到所有文件
                  try {
                      List list 
          = du.parseRequest(request);
                      Iterator it 
          = list.iterator();
                      
          while (it.hasNext()) {
                          org.apache.commons.fileupload.FileItem fileItem 
          = (FileItem) it
                                  .next();

                          
          // 是否為表單元素。如文本框 等等。
                          if (fileItem.isFormField()) {
                              String name 
          = fileItem.getFieldName();
                          
                              
          //通過流 用來讀取表單元素里的內容。
                              java.io.BufferedReader br = new BufferedReader(
                                         
          new InputStreamReader(fileItem.getInputStream()));
                              
                              
          //如果還有除文件域以外的其他表單元素 就用 if()進行名字一一匹配。
                              if(name.equals("description")){
                                  String contents 
          =  br.readLine();
                                  System.
          out.println(contents);
                                  
                              }

                              
                          }

                          
          // 文件域
                          else {
                              
          // 獲得文件名,這個文件名包括路徑:
                              String fileName = fileItem.getName();
                              
          int index = fileName.lastIndexOf('.');
                              fileName 
          = fileName.substring(index);
                              fileName 
          = this.getFileName() + fileName;                                    //文件保存位置 
                              fileItem.write(new File(request.getSession().getServletContext().getRealPath("/img")+ "\" + fileName));
                              
                              System.
          out.println("上傳成功");
                          }

                      }


                  }
           catch (FileUploadException e) {
                      
          // TODO Auto-generated catch block
                      e.printStackTrace();
                  }
           catch (Exception e) {
                      
          // TODO Auto-generated catch block
                      e.printStackTrace();
                  }


                  PrintWriter 
          out = response.getWriter();

                  
          out.flush();
                  
          out.close();
              }


              
          public void doPost(HttpServletRequest request, HttpServletResponse response)
                      throws ServletException, IOException 
          {
                  
          this.doGet(request, response);
              }


              
          public void init() throws ServletException {
                  
          // Put your code here
              }


              
          // 以日期 獲得一個文件名。(不重復);
              String getFileName() {
                  java.util.Calendar cal 
          = Calendar.getInstance();

                  
          int year = cal.get(Calendar.YEAR);
                  
          int mon = cal.get(Calendar.MONTH);
                  
          int day = cal.get(Calendar.DATE);
                  
          int hour = cal.get(Calendar.HOUR);
                  
          int min = cal.get(Calendar.MINUTE);
                  
          int sec = cal.get(Calendar.SECOND);
                  
          int mi = cal.get(Calendar.MILLISECOND);

                  System.
          out.println("mon" + mon);
                  System.
          out.println("day" + day);
                  
          return "" + year + mon + day + hour + min + sec + mi;

              }


          }

          基于 Eclipse3.2 開發.

          在  WebRoot 下新建 up  和 img  目錄.

          其中 up 為緩存目錄.   img 為上傳的 文件保存的目錄.

          posted on 2008-05-24 09:48 henry1451 閱讀(351) 評論(0)  編輯  收藏 所屬分類: Java技術
          主站蜘蛛池模板: 鹤庆县| 长泰县| 太仆寺旗| 视频| 永登县| 浪卡子县| 噶尔县| 阜康市| 桂东县| 乌兰县| 交城县| 漳州市| 余姚市| 白银市| 锡林浩特市| 廉江市| 卓尼县| 鄂温| 云霄县| 会同县| 浦城县| 博湖县| 成安县| 葵青区| 营山县| 黎川县| 泰来县| 大方县| 义马市| 怀柔区| 万盛区| 平阳县| 志丹县| 瓦房店市| 贞丰县| 左贡县| 香港 | 绩溪县| 新乡县| 海兴县| 仪征市|