ych

          struts文件上傳

          http://blog.csdn.net/techyang/archive/2005/08/09/448677.aspx(luanfengxia/arc/2006/05/20/746951.aspx)

           public ActionForward add(ActionMapping mapping, ActionForm form,
             HttpServletRequest request, HttpServletResponse response) throws Exception {
                  String encoding = request.getCharacterEncoding();
                  if ((encoding != null) && (encoding.equalsIgnoreCase("utf-8")))
                  {
                      response.setContentType("text/html; charset=gb2312");//如果沒有指定編碼,編碼格式為gb2312
                  }
                  NodeForm theForm = (NodeForm) form;
                  String nodename=theForm.getNodename();
                  String note=theForm.getNote();
                  FormFile file = theForm.getTheFile1();//取得上傳的文件
                  FormFile file2=theForm.getTheFile2();
                  FormFile file3=theForm.getTheFile3();
                  Session session=null;
                  String forward="";
                  try
                  {
                      /*
                       * 取當前系統路徑
                       */
                      String filePath = this.getServlet().getServletContext()
                      .getRealPath("/");
                      System.out.println("---------------------------------------"+filePath);
                      if(file.getFileSize()!=0){
                      ByteArrayInputStream stream = (ByteArrayInputStream) file.getInputStream();//把文件讀入
                    
                      //ByteArrayOutputStream baos = new ByteArrayOutputStream();
                    
                      /*
                       * 建立一個上傳文件的輸出流
                       */
                      OutputStream bos = new FileOutputStream(filePath +
                              "UploadFiles\\"+file.getFileName());
                      request.setAttribute("fileName",filePath + "/"
                              + file.getFileName());
                      int bytesRead = 0;
                      byte[] buffer = new byte[8192];
                      while ((bytesRead = stream.read(buffer, 0, 8192)) != -1)
                      {
                          bos.write(buffer, 0, bytesRead);//將文件寫入服務器
                      }          
                      bos.close();
                      stream.close();
                      }if(file2.getFileSize()!=0){
                      ByteArrayInputStream stream2 = (ByteArrayInputStream) file2.getInputStream();
                      OutputStream bos2 =  new FileOutputStream(filePath +
                              "UploadFiles\\"+file2.getFileName());//建立一個上傳文件的輸出流
                      int bytesRead2 = 0;
                      byte[] buffer2 = new byte[8192];
                      while ((bytesRead2 = stream2.read(buffer2, 0, 8192)) != -1)
                      {
                          bos2.write(buffer2, 0, bytesRead2);//將文件寫入服務器
                      }          
                      bos2.close();
                      stream2.close();
                      }if(file3.getFileSize()!=0){
                      ByteArrayInputStream stream3 = (ByteArrayInputStream) file3.getInputStream();//把文件讀入
                  OutputStream bos3 =  new FileOutputStream(filePath +
                          "UploadFiles\\"+file3.getFileName());//建立一個上傳文件的輸出流
                  int bytesRead3 = 0;
                  byte[] buffer3 = new byte[8192];

                  while ((bytesRead3 = stream3.read(buffer3, 0, 8192)) != -1)
                  {
                      bos3.write(buffer3, 0, bytesRead3);//將文件寫入服務器
                  }          
                  bos3.close();
                  stream3.close();
                  }
            Configuration config = new Configuration().configure();
            SessionFactory factory = config.buildSessionFactory();
               session = factory.openSession();
                  Transaction transaction = session.beginTransaction();
                  Node node=new Node();
                  node.setNodeName(nodename);
                  node.setXsdName(file.getFileName());
                  node.setXslName(file2.getFileName());
                  node.setXhtmlName(file3.getFileName());
                  node.setNote(note);
                  session.save(node);
            session.flush();
            session.clear();
            forward="display";
                  transaction.commit();
                  }
                  catch (Exception e)
                  {
                   forward="error";
                      System.err.print(e);
                      e.printStackTrace();
                  }
             
            finally{
             session.close();
             }
                  return mapping.findForward(forward);
           }

          posted on 2007-08-29 13:35 changhong 閱讀(208) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          <2007年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          統計

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章檔案

          相冊

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 蓝田县| 屏东县| 沈丘县| 扬州市| 乌拉特后旗| 商水县| 张家口市| 西盟| 桂林市| 三河市| 荔浦县| 平利县| 屏南县| 华坪县| 青铜峡市| 镇原县| 文登市| 诸城市| 沅陵县| 安顺市| 伽师县| 彩票| 西城区| 兴文县| 来宾市| 平陆县| 孝义市| 秀山| 扎兰屯市| 新乡县| 修水县| 五原县| 林周县| 昌乐县| 托里县| 吴桥县| 石城县| 瑞金市| 新兴县| 合水县| 怀来县|