<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    雅典之夏的小站
    知人者智 自知者明 Fighting!!

    采用了tomcat發(fā)布,調用了jarkarta的一個common-fileup組件,

    著先配置好classpath,加上servlet.jar和commons-fileupload-1.0.jar,

    然后把commons-fileupload-1.0.jar放到root下的web-inf/lib/下

    編寫up.java并編繹,放到web-inf/classes目錄下

    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    import java.util.regex.*;
    import org.apache.commons.fileupload.*;


    public class up extends HttpServlet {
      private static final String CONTENT_TYPE = "text/html; charset=GB2312";
      //Process the HTTP Post request
      public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType(CONTENT_TYPE);
        PrintWriter out=response.getWriter();
        try {
        DiskFileUpload fu = new DiskFileUpload();
     // 設置允許用戶上傳文件大小,單位:字節(jié),這里設為2m
     fu.setSizeMax(2*1024*1024);
     // 設置最多只允許在內(nèi)存中存儲的數(shù)據(jù),單位:字節(jié)
     fu.setSizeThreshold(4096);
     // 設置一旦文件大小超過getSizeThreshold()的值時數(shù)據(jù)存放在硬盤的目錄
     fu.setRepositoryPath("c:\\windows\\temp");
     //開始讀取上傳信息
     List fileItems = fu.parseRequest(request);
     // 依次處理每個上傳的文件
       Iterator iter = fileItems.iterator();

    //正則匹配,過濾路徑取文件名
       String regExp=".+\\\\(.+)$";

    //過濾掉的文件類型
    String[] errorType={".exe",".com",".cgi",".asp"};
       Pattern p = Pattern.compile(regExp);
          while (iter.hasNext()) {
           FileItem item = (FileItem)iter.next();
           //忽略其他不是文件域的所有表單信息
           if (!item.isFormField()) {
               String name = item.getName();
               long size = item.getSize();
               if((name==null||name.equals("")) && size==0)
                   continue;
            Matcher m = p.matcher(name);
           boolean result = m.find();
           if (result){
               for (int temp=0;temp<errorType.length;temp++){
               if (m.group(1).endsWith(errorType[temp])){
                     throw new IOException(name+": wrong type");
               }
               }
               try{

    //保存上傳的文件到指定的目錄

    //在下文中上傳文件至數(shù)據(jù)庫時,將對這里改寫
                 item.write(new File("d:\\" + m.group(1)));

               out.print(name+"&nbsp;&nbsp;"+size+"<br>");
               }
               catch(Exception e){
                 out.println(e);
                
               }

            }
           else
           {
             throw new IOException("fail to upload");
           }
           }
       }
    }
     catch (IOException e){
       out.println(e);
     }
     catch (FileUploadException e){
          out.println(e);

     }
     
      }
    }

    然后布署好web.xml,在其中加入

    <servlet>
            <servlet-name>up</servlet-name>
            <servlet-class>up</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>up</servlet-name>
            <url-pattern>/fileup</url-pattern>
        </servlet-mapping>

    好了現(xiàn)在再編寫一個htm測試一下就ok了,注意url-pattern里面的路徑必須跟表格中action的屬性一樣.

    <html>
     <h1>文件上傳演示</h1>

    <form name="uploadform" method="POST" action="/fileup" ENCTYPE="multipart/form-data">

            <table border="1" width="450" cellpadding="4" cellspacing="2" bordercolor="#9BD7FF">

            <tr><td width="100%" colspan="2">

                            文件1:<input name="x" size="40" type="file">

            </td></tr>

            <tr><td width="100%" colspan="2">

                            文件2:<input name="y" size="40" type="file">

            </td></tr>

            <tr><td width="100%" colspan="2">

                            文件3:<input name="z" size="40" type="file">

            </td></tr>

            </table>

            <br/><br/>

            <table>

            <tr><td align="center"><input name="upload" type="submit" value="開始上傳"/></td></tr>

           </table>

    </form>


    </html>

    posted on 2005-10-27 12:43 rkind 閱讀(261) 評論(0)  編輯  收藏 所屬分類: JSP&Servlet
    主站蜘蛛池模板: 免费A级毛片无码A∨免费| 久久99九九国产免费看小说| 亚洲福利视频导航| 曰曰鲁夜夜免费播放视频| 亚洲性无码一区二区三区| 国外亚洲成AV人片在线观看| 每天更新的免费av片在线观看| 午夜亚洲国产理论片二级港台二级| 国产亚洲?V无码?V男人的天堂| 成年免费大片黄在线观看岛国| 免费VA在线观看无码| 亚洲精品日韩专区silk| 国产高清免费的视频| 99久久99久久免费精品小说| 久久久久久亚洲av无码蜜芽| 久久精品国产亚洲| 国产美女被遭强高潮免费网站 | 先锋影音资源片午夜在线观看视频免费播放| 久久青青草原亚洲AV无码麻豆| 青娱分类视频精品免费2| 无人在线观看免费高清视频| 国产免费卡一卡三卡乱码| 亚洲日本中文字幕一区二区三区| 亚洲国产精品专区| 男女一边摸一边做爽的免费视频| 色吊丝性永久免费看码| 亚洲视频一区二区在线观看| 亚洲av无码成人精品区| 中文字幕无码视频手机免费看| 你懂的免费在线观看| 怡红院亚洲红怡院在线观看| 亚洲成a人片毛片在线| 亚洲精品国产美女久久久| 日韩高清免费观看| 99久久久精品免费观看国产| 国产午夜精品久久久久免费视| 亚洲AV无码专区亚洲AV桃| 亚洲三级在线播放| 无码欧精品亚洲日韩一区| 免费成人高清在线视频| 美女被吸屁股免费网站|