Dict.CN 在線詞典, 英語學習, 在線翻譯

          都市淘沙者

          荔枝FM Everyone can be host

          統計

          留言簿(23)

          積分與排名

          優秀學習網站

          友情連接

          閱讀排行榜

          評論排行榜

          用cos進行文件上傳

          ??在jsp中實現文件上傳,可用的類庫很多,比如有著名的jspsmart公司SmartUpload,struts里面也有。我這里說說cos,它是O'Reilly公司的,O'Reilly的圖書是很不錯的,這個上傳的組件也做得很棒,最重要的是,它是open?source的。

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


          ????編寫一個需要上傳文件的jsp,為了方便,我就用一個簡單的htm文件了,在這個頁面中,我們讓用戶一次可以上傳3個文件。?
          /////////////////////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>無標題文檔</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>

          在c:\下建一個目錄c:\upload,用來存放上傳的文件。


          寫一個jsp或者servlet來實現上傳,我這里用一個叫upload.jsp,這樣就不用配置web.xml,呵呵,比較懶的說。?
          ////////////////////////////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";
          //每個文件最大5m,最多3個文件,所以...
          int?maxPostSize?=3?*?5?*?1024?*?1024?;
          //response的編碼為"gb2312",同時采用缺省的文件名沖突解決策略,實現上傳
          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">
          ????最后把這2個文件發布到你的服務器就行了。上傳文件就搞定啦,以后你想在你郵件系統里面嵌入發送附件的功能,用這個來做上傳也不錯啊。?
          最后,希望這篇文章對你有所啟發,如有錯誤,敬請批評指正!

          posted on 2006-04-27 08:35 都市淘沙者 閱讀(966) 評論(1)  編輯  收藏 所屬分類: JSP/PHP

          評論

          # re: 用cos進行文件上傳 2014-01-27 15:37 頂頂頂頂

          第三方反反復復反反復復反反復復反反復復反復  回復  更多評論   

          主站蜘蛛池模板: 奎屯市| 威海市| 青神县| 孝义市| 房产| 开江县| 山阴县| 宁乡县| 灵川县| 米林县| 任丘市| 黎城县| 伊金霍洛旗| 白沙| 米泉市| 通化县| 苗栗县| 清水县| 上林县| 肇州县| 司法| 嘉义市| 芦山县| 阳新县| 河北区| 威海市| 盐山县| 瑞丽市| 泰来县| 贵南县| 英山县| 台东县| 同江市| 达日县| 桦甸市| 常山县| 鹿邑县| 灌阳县| 通海县| 宜良县| 玉溪市|