<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 墻頭草 閱讀(2591) 評論(2)  編輯  收藏

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


    網站導航:
     
    人人游戲網 軟件開發網 貨運專家
    主站蜘蛛池模板: 亚洲一区无码精品色| 十九岁在线观看免费完整版电影| 免费看黄视频网站| 亚洲国产精品第一区二区| 久久久久久国产a免费观看不卡 | 成人片黄网站色大片免费| 亚洲最大黄色网址| 91高清免费国产自产| 亚洲成AV人片久久| 青草草色A免费观看在线| 亚洲国产精品一区二区久| 91成年人免费视频| 亚洲愉拍一区二区三区| 好爽好紧好大的免费视频国产 | 免费看美女被靠到爽| 亚洲av无码兔费综合| 哒哒哒免费视频观看在线www| 美女被免费视频网站| 亚洲人妻av伦理| 免费视频成人手机在线观看网址| 亚洲国语精品自产拍在线观看 | 瑟瑟网站免费网站入口| 亚洲人成伊人成综合网久久久| 小草在线看片免费人成视久网| 亚洲另类视频在线观看| 午夜毛片不卡高清免费| 无码精品人妻一区二区三区免费| 亚洲av午夜成人片精品网站| 1000部啪啪毛片免费看| 亚洲av永久中文无码精品| 国产精品亚洲玖玖玖在线观看| 全免费a级毛片免费看| 亚洲成a人不卡在线观看| 日本特黄a级高清免费大片| 国产日韩久久免费影院 | 亚洲一区二区久久| 国产成人一区二区三区免费视频| 成人免费ā片在线观看| 亚洲午夜电影一区二区三区| 亚洲成a人片在线播放| 免费人妻无码不卡中文字幕系|