明月松間照 清泉石上流


                                                  ——— 兵臨城下   貓科動(dòng)物
          posts - 70, comments - 137, trackbacks - 0, articles - 23
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          JAVA文件上傳

          Posted on 2006-12-24 11:30 兵臨城下 閱讀(1859) 評論(2)  編輯  收藏 所屬分類: Java EE

          ??????廢話不多說,直接看程序:
          ??????Web端:
          <form method = "post" id = "upload" action ="servlet/UploadServlet" enctype="multipart/form-data">
          <input type = "file" id = "uploadFile" name = "uploadFile">
          <input type="text" name ="text1">
          <input type = "submit" value = "UPLOAD">
          </form>

          ??????Servlet端:
          ?public void doGet(HttpServletRequest request, HttpServletResponse response)
          ???throws ServletException, IOException {
          ??Map parameters = new HashMap();
          ??try {
          ????? FileItemFactory factory = new DiskFileItemFactory();
          ????? ServletFileUpload fu = new ServletFileUpload(factory);
          ??
          ????? fu.setSizeMax(4194304);

          ????? // 得到所有的文件,以及其它請求參數(shù):
          ?????? List fileItems = fu.parseRequest(request);
          ?????? Iterator i = fileItems.iterator();
          ?????? // 依次處理每一個(gè)文件,以及請求參數(shù):
          ?????? while(i.hasNext()) {
          ?????????? FileItem fi = (FileItem)i.next();

          ?????????? // 如果是文件項(xiàng),則保存文件到上傳目錄
          ?????????? if (!fi.isFormField()) {
          ?????????????? // 獲得文件名,這個(gè)文件名包括路徑:
          ?????????????? String fileName = fi.getName();

          ?????????????? long filesize = fi.getSize();
          ?????????????? System.out.println("上傳的文件名為!!!"+fileName + " size : " + filesize);

          ?????????????? // 寫入文件
          ?????????????? fileName = fileName.substring(fileName.lastIndexOf("\\"));
          ?????????????? String conPath = getServletContext().getRealPath("");
          ?????????????? fi.write(new File(conPath + "http://uploadFolder//" +fileName));
          ?????????? }
          ?????????? else { //如果是請求參數(shù),則保存到HashMap中
          ?????????????? String name = fi.getFieldName();
          ?????????????? String value = fi.getString();
          ?????????????? parameters.put(name, value);
          ?????????????? System.out.println(parameters);
          ?????????? }
          ?????? }

          ??}
          ??catch(Exception ex) {
          ????? System.out.println("上傳文件時(shí)出錯(cuò)!!!");
          ????? ex.printStackTrace();
          ??}

          ?}

          外加導(dǎo)入兩個(gè)包:org.apache.commons.fileupload、org.apache.commons.io


          評論

          # re: JAVA文件上傳  回復(fù)  更多評論   

          2008-11-28 16:05 by java永垂不朽
          看過 學(xué)習(xí)過 挺喜歡你的風(fēng)格 "廢話不多說." 哈哈 謝.

          # re: JAVA文件上傳[未登錄]  回復(fù)  更多評論   

          2009-06-23 10:26 by ak
          web端的form用post,servlet端的方法用doGet?這樣也行啊?我試試去。。。。
          主站蜘蛛池模板: 平阴县| 江川县| 太和县| 定结县| 彭山县| 九江市| 钟山县| 绥滨县| 沅陵县| 山阳县| 晋州市| 迭部县| 阳信县| 新龙县| 红原县| 新安县| 台南市| 香格里拉县| 甘谷县| 定日县| 浦县| 会同县| 高邮市| 汉沽区| 金川县| 泰顺县| 顺义区| 黎川县| 河间市| 宜州市| 淮安市| 会理县| 高碑店市| 青神县| 黄龙县| 土默特左旗| 延长县| 灵寿县| 教育| 达拉特旗| 平江县|