ExtJS文件上传后下载提示的处理代码

发布时间:2020-12-04编辑:脚本学堂
本文介绍一个ExtJS实现的文件上传后,下载提示的处理代码,供大家学习参考。

1、XML配置文件
 

<action name="uploadexc" method="uploadExcel" class="com.maixin.code.action.UserWorkTimeAction" >    
 <interceptor-ref name ="fileUploadStack" > 
  <!-- <param name="allowedTypes">xls,xlsx</param>  -->  
    <param name="maximumSize">20000000000</param>  
      </interceptor-ref>  
     <result type='json'> 
        <param name="contentType">text/html</param>   
        <param name="excludeProperties">upload,userWorkTimeSer</param> 
    </result> 
</action>

2、action代码
   

复制代码 代码示例:
/**
     * 上传Excel
     * @return
     */ 
    public String uploadExcel(){ 
        try { 
            Date d = new Date();   
            System.out.println("uploadFileName = "+this.uploadFileName);   
            //upload --  wapps 下面的文件夹,用来存放图片   
            String toSrc = ServletActionContext.getServletContext().getRealPath("upload")+"/"+d.getTime()+getFileExp(this.uploadFileName);  //使用時間戳作為文件名   
            System.out.println("toFile= "+toSrc);   
            File toFile = new File(toSrc);   
            writeFile(this.upload,toFile);   
            userWorkTimeSer.saveExcelWorkTime(upload); 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
           return SUCCESS;   
    } 

3、js代码
 

复制代码 代码示例:
this.uploadform.getForm().submit({ 
  url: 'uploadexc.action', 
  //waitMsg: 'Uploading your photo...', 
  success: function(response){ 
     
  }, 
  failure:function(response){ 
      //上传完后,返回失败, 
      Ext.getCmp('upwindow').hide(); 
      Ext.getCmp('userWorkTimeGrid').getStore().reload(); 
  } 
}); 
 

在Struts2 中,上传完成后,返回的JSON时,提示下载,用上面的配置后,不会提示了,Ajax返回的居然是failure,使用fileBug查看也是正常的。
好在问题解决了,真是个奇怪的问题。