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

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

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

    posts - 22,comments - 35,trackbacks - 0

    在jsp中實(shí)現(xiàn)文件上傳,可用的類庫(kù)很多,比如有著名的jspsmart公司SmartUpload,struts里面也有。我這里說(shuō)說(shuō)cos,它是O'Reilly公司的,O'Reilly的圖書(shū)是很8錯(cuò)的,這個(gè)上傳的組件也做得很棒,最重要的是,它是open source的。

    1. 下載最新的cos包(http://www.servlets.com/cos/index.html),加入到你的classpath中。

    2. 編寫(xiě)一個(gè)需要上傳文件的jsp,為了方便,我就用一個(gè)簡(jiǎn)單的htm文件了,在這個(gè)頁(yè)面中,我們讓用戶一次可以上傳3個(gè)文件。
      /////////////////////upload.htm////////////////////////////////////
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
      "http://www.w3.org/TR/html4/loose.dtd">
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html;charset=gb2312">
      <title>無(wú)標(biāo)題文檔</title>
      </head>
      
      <body>
      <!-- enctype的值很重要,upload.jsp為處理上傳的jsp-->
      <form name="form1"  method="post" enctype="multipart/form-data" 
      action="upload.jsp">
      <p>
        <input name="file1" type="file">
      </p>
      <p>
        <input name="file2" type="file">
      </p>
      <p>  <input name="file3" type="file">
      </p>
      <p>
        <input type="submit" name="Submit" value="上傳">
      </p>
      </form >
      
      </body>
      </html>
      
    3. 在c:\下建一個(gè)目錄c:\upload,用來(lái)存放上傳的文件。

    4. 寫(xiě)一個(gè)jsp或者servlet來(lái)實(shí)現(xiàn)上傳,我這里用一個(gè)叫upload.jsp,這樣就不用配置web.xml,呵呵,比較懶的說(shuō)。
      ////////////////////////////upload.jsp////////////////////////
      
      <%@page import="java.io.*"%>
      <%@page import="com.oreilly.servlet.MultipartRequest"%>
      <%@page import="com.oreilly.servlet.multipart.CoverFileRenamePolicy"%>
      <%@page contentType="text/html; charset=gb2312" %>
      <%
      //文件上傳后,保存在c:\\upload
      String saveDirectory ="c:\\upload";
      //每個(gè)文件最大5m,最多3個(gè)文件,所以...
      int maxPostSize =3 * 5 * 1024 * 1024 ;
      //response的編碼為"gb2312",同時(shí)采用缺省的文件名沖突解決策略,實(shí)現(xiàn)上傳
      MultipartRequest multi =
             new MultipartRequest(request, saveDirectory, maxPostSize,
                                  "gb2312");
      
      //輸出反饋信息
       Enumeration files = multi.getFileNames();
           while (files.hasMoreElements()) {
              System.err.println("ccc");
             String name = (String)files.nextElement();
             File f = multi.getFile(name);
             if(f!=null){
               String fileName = multi.getFilesystemName(name);
               String lastFileName= saveDirectory+"\\" + fileName;
               out.println("上傳的文件:"+lastFileName);
               out.println("<hr>");
      
             }
           }
      
      %>
      <meta http-equiv="Content-Type" content="text/html;charset=gb2312">
      
    5. 最后把這2個(gè)文件發(fā)布到你的服務(wù)器就行了。上傳文件就搞定啦,以后你想在你郵件系統(tǒng)里面嵌入發(fā)送附件的功能,用這個(gè)來(lái)做上傳也不錯(cuò)啊。

    最后,希望這篇文章對(duì)你有所啟發(fā),如有錯(cuò)誤,敬請(qǐng)批評(píng)指正!

    參考資料

    http://macspeed.net/coursejsp/ch07/ch0702.html

    posted on 2005-12-16 13:00 kelven 閱讀(215) 評(píng)論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 亚洲AV第一页国产精品| 亚洲1区2区3区精华液| 亚洲成在人线aⅴ免费毛片| 亚洲乱亚洲乱妇24p| 亚洲精品成人久久久| 99国产精品视频免费观看| 亚洲激情视频图片| 久久久久一级精品亚洲国产成人综合AV区| 免费黄网站在线看| 亚洲国产欧洲综合997久久| 亚洲国产精品成人精品无码区 | 日韩成人免费aa在线看| 国产日韩精品无码区免费专区国产| 亚洲最大免费视频网| 亚洲精品在线视频| 国产免费AV片在线播放唯爱网| 日本永久免费a∨在线视频| 久久精品国产亚洲av麻豆蜜芽| 亚洲精品tv久久久久| 免费做爰猛烈吃奶摸视频在线观看 | 亚洲av日韩综合一区二区三区| 久久精品亚洲综合一品| 日本黄色免费观看| 99re视频精品全部免费| 人与动性xxxxx免费| 精品丝袜国产自在线拍亚洲| 久久亚洲免费视频| 精品国产亚洲一区二区在线观看 | 国产成人无码区免费内射一片色欲 | 亚洲无圣光一区二区| 在线亚洲97se亚洲综合在线| 免费无码又爽又刺激高潮| 亚洲电影免费观看| 免费h视频在线观看| 一个人免费观看www视频| 亚洲AV日韩AV一区二区三曲| 亚洲国产成人91精品| 日韩亚洲欧洲在线com91tv| 亚洲国产成人爱av在线播放| 日本高清免费aaaaa大片视频| 91免费播放人人爽人人快乐|