Ext文件下载(转载)

43 篇文章 0 订阅
Html代码 <form id="tagRuleDownloadForm" action=""></form>  
<form id="tagRuleDownloadForm" action=""></form>  

 
Js代码

//下载规则文件接口   
    function downloadTagRuleFile(fileName){   
        var url = '/tagrule?fileName=' + fileName;   
        Ext.Ajax.request({  //下载之前先判断一下文件存不存在;   
            url: url + "&checkFileExist=checkFileExist",   
            params: {checkFileExist: 'checkFileExist'},   //这样参数没有传过去   
            method: 'PUT',   //这里自己改,因为需要才写成这样的!   
            callback: function(op, suc, resp){   
                alert(resp.responseText);   
                if(suc){    //'success':false,'message':'file not found!'   
                    var ret = eval("(" + resp.responseText + ")");   
                    if(ret.success){   
                        //下载文件;   
                        var downloadForm = document.getElementById("tagRuleDownloadForm");   
                        downloadForm.action = url;   
                        downloadForm.method = "POST";   
                        downloadForm.submit();     
                    }else{   
                        Ext.Msg.alert(TagRulerRes.TIP, ret.message);   
                    }   
                }else{   
                    Ext.Msg.alert(TagRulerRes.TIP, TagRulerRes.DOWNLOAD_FAILURE);   
                }   
            }   
        });   
    }  

//下载规则文件接口   function downloadTagRuleFile(fileName){    var url = '/tagrule?fileName=' + fileName;    Ext.Ajax.request({ //下载之前先判断一下文件存不存在;     url: url + "&checkFileExist=checkFileExist",     params: {checkFileExist: 'checkFileExist'},   //这样参数没有传过去     method: 'PUT',   //这里自己改,因为需要才写成这样的!     callback: function(op, suc, resp){      alert(resp.responseText);      if(suc){ //'success':false,'message':'file not found!'       var ret = eval("(" + resp.responseText + ")");       if(ret.success){        //下载文件;        var downloadForm = document.getElementById("tagRuleDownloadForm");        downloadForm.action = url;           downloadForm.method = "POST";           downloadForm.submit();        }else{        Ext.Msg.alert(TagRulerRes.TIP, ret.message);       }      }else{       Ext.Msg.alert(TagRulerRes.TIP, TagRulerRes.DOWNLOAD_FAILURE);      }     }    });   }  下的servlet方法:
Java代码 /**  
    * 文件下载  
    * 查看,修改规则时下载规则文件;  
    */  
   public void downloadFile(HttpServletRequest request, HttpServletResponse response)   
       throws ServletException, IOException   
   {   
       response.setContentType("text/html");   
       String fileName = request.getParameter("fileName");   
       if(fileName == null || fileName.length() == 0)   
       {   
           log.info("文件不存在! fileName is null !");   
           this.responseText("{'success':false,'message':'" +    
               ResourceCfg.getResourceMessage(String.valueOf(ErrorCode.ADFILE_NOT_EXISTS)) + "'}", response);   
           return ;   
       }   
          
       String checkFileExist = request.getParameter("checkFileExist");   
       String svrFilePath = (MATRIX_BAK_DIRMATRIX_BAK_DIR + fileName).replace("\\", "/");   
          
       File file = new File(svrFilePath);   
       if (!file.exists())    
       {   
           log.info("文件不存在! path:" + file.getAbsolutePath());   
           this.responseText("{'success':false,'message':'" +    
               ResourceCfg.getResourceMessage(String.valueOf(ErrorCode.ADFILE_NOT_EXISTS)) + "'}", response);   
       }    
       else    
       {      
           if (checkFileExist != null && checkFileExist.equals("checkFileExist"))   
           {   
               log.info("文件存在! path:" + file.getAbsolutePath());   
               this.responseText("{'success':true,'message':''}", response);   
           }   
           else  
           {      
               //写文件到网流;   
               responseFile(response, fileName, svrFilePath);   
           }   
       }   
   }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fjza1168

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值