<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
    主站蜘蛛池模板: 亚洲一区二区三区国产精华液| 国产精品亚洲mnbav网站| 亚洲AV无码AV男人的天堂| 一进一出60分钟免费视频| 亚洲精品高清一二区久久| 一级做a爰片久久毛片免费陪 | 男女交性永久免费视频播放| 亚洲熟妇无码AV| 国产男女猛烈无遮档免费视频网站 | 国产亚洲精品AAAA片APP| 四虎影视大全免费入口| 亚洲中文精品久久久久久不卡| 最近2019中文免费字幕| 亚洲αⅴ无码乱码在线观看性色| 日本免费高清一本视频| 亚洲AV无码专区在线厂| 亚洲国产精品日韩| 你懂的在线免费观看| 亚洲综合精品一二三区在线| 免费人成在线视频| 小说专区亚洲春色校园| 中文字幕日韩亚洲| 99视频精品全部免费观看| 亚洲一级毛片中文字幕| 国产成人精品男人免费| www永久免费视频| 亚洲精品自产拍在线观看动漫| 国产精品色拉拉免费看| 亚洲午夜精品在线| 久久最新免费视频| 日韩免费高清大片在线| 成人免费AA片在线观看| 久久亚洲中文无码咪咪爱| 亚洲色欲久久久综合网东京热| 在线日本高清免费不卡| 国产精品国产亚洲区艳妇糸列短篇 | 黄+色+性+人免费| 黄色a级片免费看| 亚洲av丰满熟妇在线播放| 在线免费视频一区| a级毛片免费全部播放|