`
huoyunshen888
  • 浏览: 83493 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

http://huoyunshen888.iteye.com/admin/blogs/new

 
阅读更多
我用extjs+struts1.2做文件上传时,当文件上传成功后,却弹出了下载框,而Ext里提交后的回调函数却不能响应,为什么呢? 我使用了oreilly的COS上传组件。
前台代码是:
var upwin = new Ext.Window({   //一个窗口
    width:350,
    title: 'Excel文件上传', 
    height:180,
    closeAction:'close',  //关闭图标 hide  / close
    plain: true,
    modal:true,
    autoScroll:true,     //自动滚动
        containerScroll: false,
    layout: 'fit',
    items:[  
                           new Ext.form.FormPanel({   
           labelAlign: 'right',   
           labelWidth: 60,   
           frame:true,  
      url: 'pushMgrAction.do?method=uploadFile',//fileUploadServlet   
         width: 300,   
         height:200,  
         fileUpload: true,  
       items: [{   
        xtype: 'textfield',   
        fieldLabel: '文件名',   
        name: 'file', 
        width: '250',
        inputType: 'file'//文件类型   
      }]  
     })
                      ],
    buttonAlign : 'center',
    buttons: [{   
        text: '导 入',   
        handler: function() {
        upform.getForm().submit({   
           success: function(form, action){
              Ext.Msg.alert('信息', action.result.msg);   
           },   
           failure: function(){  Ext.Msg.alert('错误', '文件导入失败');},
           waitMsg : '正在导入数据,请等待...'
     });   
    }   
  },{ text: '关 闭',handler: function(){ upwin.close(); }
    }]
    });
        upwin.show();
    }
var upform = ;

action中的代码是:
response.setContentType("text/json; charset=gb2312");
MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize, "gb2312");   
       
        XlsImport xlssave = new XlsImport();
        //输出反馈信息   
        Enumeration files = multi.getFileNames();
        while (files.hasMoreElements()) {   
            String name = (String)files.nextElement();   
            File f = multi.getFile(name);   
            if(f!=null){   
              String fileName = multi.getFilesystemName(name);   
              String lastFileName= saveDirectory+"\\" + fileName;   
              java.io.File tmpfile = new java.io.File(lastFileName);
    if (tmpfile.exists()) {
              xlssave.xlsToDB(user.getEmpid(), lastFileName);
              if(xlssave.getErrors().equals("")){
            redata = "{success:true,msg:'成功导入了"+xlssave.getRowCount()+"条数据!'}" ;
           }else{
          redata = "{success:false,msg:'"+xlssave.getErrors().toString()+"'}";
           }
    }
    tmpfile.delete();
            }   
        }
        out.write(redata);
out.flush();
--------------------------------------------------------------------------------
分享到:
评论
1 楼 xieweiting 2012-05-15  
把response返回属性改下, response.setContentType("text/html; charset=gb2312");

相关推荐

Global site tag (gtag.js) - Google Analytics