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,此時文件已上傳到服務器中的一個臨時目錄(同時被注入到action中就是你看到的 doc),此臨時目錄由webwork.properties指定,你必須將此文件拷貝到你需要的目錄,否則action執行完畢,此文件會被刪除,準確說是攔截器的后處理刪除了臨時文件,這一段結論的前提是你使用攔截器處理上傳

          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傳攔截器的時候應該避免使用execAndWait攔截器,否則很有可能會出現空指針,因為execAndWait攔截器會在另一個線程處理action,而原來的線程會刪掉臨時文件,所以當你在action中處理文件的時候很有可能文件已被刪掉,雖然這并非一定會出現,但畢竟不安全
          posted on 2006-12-13 17:16 周銳 閱讀(623) 評論(0)  編輯  收藏 所屬分類: Webwork
          主站蜘蛛池模板: 周宁县| 金坛市| 双牌县| 桑日县| 道孚县| 得荣县| 永吉县| 从江县| 广宗县| 谷城县| 德阳市| 安西县| 论坛| 盱眙县| 富阳市| 凤台县| 临猗县| 锡林郭勒盟| 旬阳县| 榆林市| 商城县| 咸宁市| 南漳县| 高阳县| 望谟县| 富川| 比如县| 勃利县| 琼中| 太仓市| 宁乡县| 中超| 沁阳市| 于田县| 南雄市| 弥勒县| 屏东市| 公主岭市| 东阿县| 龙里县| 潼南县|