WebOffice控制項的使用(一)

來源:互聯網
上載者:User

標籤:ice   package   str   tostring   size   boolean   files   print   images   

娃娃

Java代碼  

  1. 最近拿到一個老項目,用到了weboffice ,無奈網上找找收藏學習  
  2.   
  3. 首先需要匯入jar包iweboffice.jar  
  4.   
  5. 後台作業碼如下:  
Java代碼  
  1. package weboffice;  
  2.   
  3. import java.io.IOException;  
  4.   
  5. import javax.servlet.ServletException;  
  6. import javax.servlet.ServletOutputStream;  
  7. import javax.servlet.http.HttpServlet;  
  8. import javax.servlet.http.HttpServletRequest;  
  9. import javax.servlet.http.HttpServletResponse;  
  10.   
  11. public class WebOfficeServeltAction extends HttpServlet {  
  12. private DBstep.iMsgServer2000 MsgObj = new DBstep.iMsgServer2000(); // 建立服務物件  
  13.   
  14. public WebOfficeServeltAction() {  
  15.    super();  
  16. }  
  17.   
  18.   
  19. public void destroy() {  
  20.    super.destroy();   
  21.     
  22. }  
  23.   
  24.   
  25. public void doGet(HttpServletRequest request, HttpServletResponse response)  
  26.     throws ServletException, IOException {  
  27.   
  28.    this.doPost(request, response);  
  29. }  
  30.   
  31. public void doPost(HttpServletRequest request, HttpServletResponse response)  
  32.     throws ServletException, IOException {  
  33.    response.setContentType("text/html");  
  34.    response.setCharacterEncoding("UTF-8");  
  35.    System.out.println("進來了");  
  36.    String mOption = "";  
  37.    String mUserName = "";  
  38.    String mRecordID = "";  
  39.    String mTemplate = "";  
  40.    byte[] mFileBody = null;  
  41.    String mFileName = "";  
  42.    String mFileType = "";  
  43.    String mDescript = "";  
  44.    int mFileSize = 0;  
  45.     
  46.     
  47.    if (request.getMethod().equalsIgnoreCase("POST")) {  
  48.     MsgObj.MsgVariant(ReadPackage(request));  
  49.     if (MsgObj.GetMsgByName("DBSTEP").equalsIgnoreCase("DBSTEP")){// 如果是合法的資訊包  
  50.      mOption=MsgObj.GetMsgByName("OPTION") ;   //取得操作類型  
  51.      System.out.println("操作類型==="+mOption);  
  52.      if(mOption.equalsIgnoreCase("SAVEFILE")){  
  53.       mRecordID=MsgObj.GetMsgByName("RECORDID");     //取得文檔編號  
  54.            mFileName=MsgObj.GetMsgByName("FILENAME");     //取得文檔名稱  
  55.            mFileType=MsgObj.GetMsgByName("FILETYPE");     //取得文件類型  
  56.            mFileSize=MsgObj.MsgFileSize();                //取得文檔大小  
  57.            mUserName= MsgObj.GetMsgByName("USERNAME");     //取得儲存使用者名稱稱             
  58.            //此處可以解決亂碼問題  
  59.            mFileBody=MsgObj.MsgFileBody();                //取得文檔內容  
  60.            mFileBody=MsgObj.ToDocument(mFileBody);//進行分離操作  
  61.       MsgObj.MsgFileBody(mFileBody); //將分離後的文檔資料讀入組件對象       
  62.                   
  63.            mDescript="通用版本";                           //版本說明  
  64.            MsgObj.MsgTextClear();// 清除文本資訊  
  65.            //文檔資訊內容儲存到資料庫中或者檔案中  
  66.            //以儲存到檔案為例  
  67.            boolean flag = MsgObj.MsgFileSave("F:/test/"+mFileName);         
  68.            if (flag){//儲存文檔內容  
  69.                MsgObj.SetMsgByName("STATUS", "儲存成功!");   //設定狀態資訊  
  70.                MsgObj.MsgError("");                          //清除錯誤資訊  
  71.            }else{  
  72.                MsgObj.MsgError("儲存失敗!");                 //設定錯誤資訊  
  73.              }  
  74.              MsgObj.MsgFileClear();           
  75.      }  
  76.       
  77.      //開啟  
  78.      if(mOption.equalsIgnoreCase("LOADFILE")){  
  79.       mRecordID = MsgObj.GetMsgByName("RECORDID"); // 取得文檔編號  
  80.       mFileName = MsgObj.GetMsgByName("FILENAME"); // 取得文檔名稱  
  81.       mFileType = MsgObj.GetMsgByName("FILETYPE"); // 取得文件類型  
  82.       MsgObj.MsgTextClear(); // 清除文本資訊  
  83.       //如果對資料庫操作,只要把資料庫中文檔的內容付給MsgObj.MsgFileBody就可以了  
  84.       //通過mRecordID找到資料庫中的記錄,然後將資料庫中的檔案流付給mFileBody  
  85.       if (MsgObj.MsgFileLoad("F:/test/"+mFileName+mFileType)){//調入文檔  
  86.        //MsgObj.MsgFileBody(mFileBody);//從資料庫中讀取時用  
  87.        MsgObj.SetMsgByName("STATUS","開啟成功!"); // 設定狀態資訊   
  88.        MsgObj.MsgError(""); // 清除錯誤資訊  
  89.       } else {  
  90.        MsgObj.MsgError("開啟失敗!"); //開啟失敗! 設定錯誤資訊  
  91.       }  
  92.      }  
  93.      //修改  
  94.      if (mOption.equalsIgnoreCase("MODIFYFILE")){  
  95.       MsgObj.GetMsgByName("ATTACHID");//獲得ID  
  96.       //通過ID取得記錄及相應資訊  
  97.       MsgObj.MsgTextClear(); // 清除文本資訊  
  98.       if (MsgObj.MsgFileSave("F:/test/"+mFileName+mFileType)){// 儲存檔案此處添路徑  
  99.        MsgObj.SetMsgByName("STATUS", "儲存成功!"); // 設定狀態資訊 儲存成功  
  100.   
  101.        MsgObj.SetMsgByName("ATTACHID", "");//此處存取記錄編號  
  102.        MsgObj.MsgError(""); // 清除錯誤資訊  
  103.       } else {  
  104.        MsgObj.MsgError("儲存失敗!"); // 設定錯誤資訊 儲存失敗!  
  105.       }  
  106.       MsgObj.MsgFileClear();  
  107.      }                         
  108.     }else {  
  109.      MsgObj.MsgError("資料包錯誤!");//用戶端發送資料包錯誤!  
  110.      MsgObj.MsgTextClear();  
  111.      MsgObj.MsgFileClear();  
  112.     }    
  113.    }else {  
  114.     MsgObj.MsgError("請使用POST方法");//必須使用POST方法!  
  115.     MsgObj.MsgTextClear();  
  116.     MsgObj.MsgFileClear();  
  117.    }  
  118.    SendPackage(response);  
  119. }  
  120.   
  121. public void init() throws ServletException {  
  122.    //產生對象執行個體:  
  123.   
  124.    MsgObj=new DBstep.iMsgServer2000();  
  125.   
  126.   
  127. }  
  128.   
  129.   
  130. //取得用戶端發來的資料包  
  131.   
  132. private byte[] ReadPackage(HttpServletRequest request){  
  133.    byte mStream[]=null;  
  134.    int totalRead = 0;  
  135.    int readBytes = 0;  
  136.    int totalBytes = 0;  
  137.    try{  
  138.      totalBytes = request.getContentLength();  
  139.      mStream = new byte[totalBytes];  
  140.      while(totalRead < totalBytes){  
  141.        request.getInputStream();  
  142.        readBytes = request.getInputStream().read(mStream, totalRead, totalBytes - totalRead);  
  143.        totalRead += readBytes;  
  144.        continue;  
  145.      }  
  146.    }  
  147.    catch (Exception e){  
  148.      System.out.println(e.toString());  
  149.    }  
  150.    return (mStream);  
  151. }  
  152.   
  153.   
  154. //發送處理後的資料包  
  155.   
  156. private void SendPackage(HttpServletResponse response){  
  157.    try{  
  158.      ServletOutputStream OutBinarry=response.getOutputStream() ;  
  159.      OutBinarry.write(MsgObj.MsgVariant()) ;  
  160.      OutBinarry.flush();  
  161.      OutBinarry.close();  
  162.    }  
  163.    catch(Exception e){  
  164.      System.out.println(e.toString());  
  165.    }  
  166.   
  167. }  
  168.   
  169. }  

 

WebOffice控制項的使用(一)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.