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

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

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

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

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

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

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

    編寫(xiě)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();
     // 設(shè)置允許用戶上傳文件大小,單位:字節(jié),這里設(shè)為2m
     fu.setSizeMax(2*1024*1024);
     // 設(shè)置最多只允許在內(nèi)存中存儲(chǔ)的數(shù)據(jù),單位:字節(jié)
     fu.setSizeThreshold(4096);
     // 設(shè)置一旦文件大小超過(guò)getSizeThreshold()的值時(shí)數(shù)據(jù)存放在硬盤(pán)的目錄
     fu.setRepositoryPath("c:\\windows\\temp");
     //開(kāi)始讀取上傳信息
     List fileItems = fu.parseRequest(request);
     // 依次處理每個(gè)上傳的文件
       Iterator iter = fileItems.iterator();

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

    //過(guò)濾掉的文件類型
    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ù)庫(kù)時(shí),將對(duì)這里改寫(xiě)
                 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)在再編寫(xiě)一個(gè)htm測(cè)試一下就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="開(kāi)始上傳"/></td></tr>

           </table>

    </form>


    </html>

    posted on 2005-10-27 12:43 rkind 閱讀(261) 評(píng)論(0)  編輯  收藏 所屬分類: JSP&Servlet
    主站蜘蛛池模板: 精品亚洲永久免费精品| 亚洲欧洲日本在线| 无码av免费网站| 一级毛片a免费播放王色电影 | 午夜精品射精入后重之免费观看| 亚洲精品成a人在线观看夫| 亚洲卡一卡2卡三卡4卡无卡三| 久久免费视频99| 成人久久久观看免费毛片| 狠狠色伊人亚洲综合网站色| 免费在线观看黄网| 毛片免费全部播放一级| 日韩在线观看免费完整版视频| 2020久久精品亚洲热综合一本| 亚洲三级电影网址| 亚洲成AV人片在| 国产亚洲AV手机在线观看| 四虎精品亚洲一区二区三区| 成年美女黄网站18禁免费| 曰曰鲁夜夜免费播放视频| 亚洲av无码一区二区三区人妖| 亚洲在成人网在线看| 免费a级黄色毛片| 国产一精品一aⅴ一免费| 女人被男人桶得好爽免费视频| 成年女人喷潮毛片免费播放| 91在线视频免费看| www.黄色免费网站| 成人性生交大片免费看无遮挡| 妻子5免费完整高清电视| 麻豆最新国产剧情AV原创免费| 美女视频黄免费亚洲| 黄瓜视频高清在线看免费下载| 一个人看的www在线观看免费| 野花高清在线观看免费3中文 | 亚洲国产一二三精品无码| 亚洲精品字幕在线观看| 亚洲国产精品无码成人片久久| 亚洲va无码专区国产乱码| 亚洲一区二区在线视频| 国产精品国产自线拍免费软件|