posts - 431,  comments - 344,  trackbacks - 0
          step1:
          頁面定義如下
              <form action="upload.do" enctype="multipart/form-data" method="post">
                      <input type="file" name="doc"/>
                       ......................... 省略
             </form>

          step2
              action 如下
              public class UploadAction extends ActionSupport {
                    .....................................
                    private File doc;//doc與頁面取一樣的名字

                    public void setDoc(File doc) {
                           this.doc = doc;
                   }

                   //當然還可以使用以下的咚咚
            /*
               * public void setDocContentType(String docContentType) {
               * this.docContentType = docContentType; }
               *
               *//**
                   *
                   * @author weip
                   * @time 0:23:24 2006-5-11
                   * @param docFileName
                   */
              /*
               * public void setDocFileName(String docFileName) { this.docFileName =
               * docFileName; }
               */

              /**
               *
               */
              /*
               * private String docContentType;
               *
               *//**
                   *
                   */
              /*
               * private String docFileName;
               */

          .............................................................

             }

          當程序進入到action當中時,你可以開始處理上面代碼中的doc,此時文件已上傳到服務(wù)器中的一個臨時目錄(同時被注入到action中就是你看到的 doc),此臨時目錄由webwork.properties指定,你必須將此文件拷貝到你需要的目錄,否則action執(zhí)行完畢,此文件會被刪除,準確說是攔截器的后處理刪除了臨時文件,這一段結(jié)論的前提是你使用攔截器處理上傳

          step3
          處理配置文件,配置攔截器

          <action name="upload" class="com.mofile.baby.web.action.signup.UploadAction">
                    
                      <result name="success" type="freemarker">/page/signup/uploadfile.htm</result>
                      <interceptor-ref name="fileUpload"/>
                      <interceptor-ref name="defaultWebStack"/>
                   
            </action>

          step4
          對于webwork.properties的一些處理
          webwork in action上推薦使用webwork.multipart.parser=jakarta而不是默認的 pell,如果使用前者,不要忘了在你的lib中加入commons-fileupload.jar


          需要注意的問題:
          你在使用
          fileUpload傳攔截器的時候應(yīng)該避免使用execAndWait攔截器,否則很有可能會出現(xiàn)空指針,因為execAndWait攔截器會在另一個線程處理action,而原來的線程會刪掉臨時文件,所以當你在action中處理文件的時候很有可能文件已被刪掉,雖然這并非一定會出現(xiàn),但畢竟不安全
          posted on 2006-12-13 17:16 周銳 閱讀(623) 評論(0)  編輯  收藏 所屬分類: Webwork
          主站蜘蛛池模板: 衢州市| 塔河县| 元氏县| 固安县| 岳西县| 龙门县| 离岛区| 黎川县| 浏阳市| 西和县| 太原市| 赣榆县| 建宁县| 玉山县| 长治市| 通化市| 农安县| 兴城市| 古田县| 木兰县| 宣化县| 腾冲县| 湖南省| 厦门市| 星座| 江门市| 北辰区| 广州市| 天气| 江西省| 陆河县| 彩票| 大庆市| 余江县| 扶沟县| 团风县| 株洲县| 平原县| 武陟县| 巴东县| 余干县|