<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 241,  comments - 116,  trackbacks - 0

    1 頁面文件
       <!-- Ext JS Files -->
    <link rel="stylesheet" type="text/css" href="/extjs4-file-upload-spring/extjs/resources/css/ext-all.css" />
        <script type="text/javascript" src="/extjs4-file-upload-spring/extjs/bootstrap.js"></script>

    <!-- file upload form -->
    <script src="/extjs4-file-upload-spring/js/file-upload.js"></script>

    </head>struts獲取各種表單的數據
    <body>

    Click on "Browse" button (image) to select a file and click on Upload button


    <div id="fi-form" style="padding:25px;"></div>
    </body>

    2 EXTjs的文件
       Ext.onReady(function(){

        Ext.create('Ext.form.Panel', {
            title: 'File Uploader',
            width: 400,
            bodyPadding: 10,
            frame: true,
            renderTo: 'fi-form',   
            items: [{
                xtype: 'filefield',
                name: 'file',
                fieldLabel: 'File',
                labelWidth: 50,
                msgTarget: 'side',
                allowBlank: false,
                anchor: '100%',
                buttonText: 'Select a File...'
            }],

            buttons: [{
                text: 'Upload',
                handler: function() {
                    var form = this.up('form').getForm();
                    if(form.isValid()){
                        form.submit({
                            url: 'upload.action',
                            waitMsg: 'Uploading your file...',
                            success: function(fp, o) {
                                Ext.Msg.alert('Success', 'Your file has been uploaded.');
                            }
                        });
                    }
                }
            }]
        });

    });

    3 上傳文件的bean
    import org.springframework.web.multipart.commons.CommonsMultipartFile;


    public class FileUploadBean {

        private CommonsMultipartFile file;

        public CommonsMultipartFile getFile() {
            return file;
        }

        public void setFile(CommonsMultipartFile file) {
            this.file = file;
        }
    }

     
    4 為了讓extjs顯示信息,再設計一個bean
    public class ExtJSFormResult {

        private boolean success;
        
        public boolean isSuccess() {
            return success;
        }
        public void setSuccess(boolean success) {
            this.success = success;
        }
        
        public String toString(){
            return "{success:"+this.success+"}";
        }
    }
      這里其實是返回是否成功

    5 controller層
      
    @Controller
    @RequestMapping(value = "/upload.action")
    public class FileUploadController {

        @RequestMapping(method = RequestMethod.POST)
        public @ResponseBody String create(FileUploadBean uploadItem, BindingResult result){

            ExtJSFormResult extjsFormResult = new ExtJSFormResult();
            
            if (result.hasErrors()){
                for(ObjectError error : result.getAllErrors()){
                    System.err.println("Error: " + error.getCode() +  " - " + error.getDefaultMessage());
                }
                
                //set extjs return - error
                extjsFormResult.setSuccess(false);
                
                return extjsFormResult.toString();
            }

            // Some type of file processing...
            System.err.println("-------------------------------------------");
            System.err.println("Test upload: " + uploadItem.getFile().getOriginalFilename());
            System.err.println("-------------------------------------------");
             if(uploadItem.getFile().getSize()>0){                   
                    try {    
                        SaveFileFromInputStream(uploadItem.getFile().getInputStream(),"D://",uploadItem.getFile().getOriginalFilename());    
                    } catch (IOException e) {    
                        System.out.println(e.getMessage());    
                        return null;    
                    }    
                }    
            //set extjs return - sucsess
            extjsFormResult.setSuccess(true);
            
            return extjsFormResult.toString();
        }
        
        /* **保存文件   
        
           * @param stream   
           * @param path   
           * @param filename   
           * @throws IOException   
           */   
          public void SaveFileFromInputStream(InputStream stream,String path,String filename) throws IOException    
          {          
           FileOutputStream fs=new FileOutputStream(path + "/"+ filename);
           byte[]  buffer=new byte[1024*1024];
           int bytesum = 0;    
              int byteread = 0;
                while ((byteread=stream.read())!=-1)
                {
                    bytesum+=byteread;
                    
                      fs.write(buffer,0,byteread);    
                      fs.flush();    
                    
                }
                fs.close();    
                stream.close();    
          }    
      可以看到,當出現錯誤時,extjsFormResult.setSuccess(false);
    return extjsFormResult.toString();
      這兩句返回給前端ext js處理。
      最后就是配置MVC了
     
    <!-- Activates various annotations to be detected in bean classes -->
        <context:annotation-config />

        <!-- Scans the classpath of this application for @Components to deploy as beans -->
        <context:component-scan base-package="com.loiane"/>

        <!-- Configures Spring MVC -->
        <import resource="mvc-config.xml"/>

        <!-- Configure the multipart resolver -->
        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <!-- one of the properties available; the maximum file size in bytes -->
            <property name="maxUploadSize" value="100000"/>
          
        </bean>
      設置文件大小限制
      一個很奇怪的問題是,在ie 7下,好象有點問題,待解決,但在firefox和chrome下都沒問題,這個extjs 真怪,不用ext,普通的spring mvc是沒問題的哦
    posted on 2011-07-27 10:26 墻頭草 閱讀(2583) 評論(2)  編輯  收藏

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


    網站導航:
     
    人人游戲網 軟件開發網 貨運專家
    主站蜘蛛池模板: 亚洲最新在线视频| 成人免费网站久久久| 国产国产人免费视频成69大陆| aa午夜免费剧场| 亚洲成a人片在线观看中文!!!| 国产高清在线免费视频| 国产高清不卡免费视频| 激情小说亚洲色图| 亚洲一区综合在线播放| 国产成人免费片在线视频观看| 无码少妇精品一区二区免费动态 | 日韩精品亚洲专区在线观看| 免费无遮挡无码永久视频 | 女人隐私秘视频黄www免费| 亚洲乱人伦精品图片| 亚洲中文字幕无码久久精品1| 国产又黄又爽又猛免费app| 日本道免费精品一区二区| 亚洲国产欧洲综合997久久| 亚洲av网址在线观看| 九月婷婷亚洲综合在线| 在线永久看片免费的视频| 99视频免费在线观看| 在线观看国产一区亚洲bd| 亚洲理论片中文字幕电影| 亚洲三区在线观看无套内射| 特级淫片国产免费高清视频| 免费观看国产网址你懂的| 成人性生交大片免费看中文| 羞羞漫画页面免费入口欢迎你| 亚洲人成电影网站| eeuss在线兵区免费观看| 日韩亚洲产在线观看| 亚洲视频在线观看| 亚洲乱码中文字幕综合| 四虎亚洲国产成人久久精品| 最近中文字幕免费mv视频8| 67pao强力打造国产免费| 永久免费不卡在线观看黄网站| 一级毛片免费不卡| 怡红院亚洲红怡院在线观看|