Ext文件下载(转载)
2014-02-28 11:03
495 查看
Html代码 <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);
}
}
}
<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);
}
}
}
相关文章推荐
- 导出数据到Excel
- Myeclipse 工程各种包过滤显示
- 【引用】ssh配置文件(web.xml,struts.xml,applicationContext.xml,persistence.xml,log4j.properties)
- cookie+session,会话时间设定
- Ext.window组件属性方法介绍
- mongodb管理工具 rockmongo使用时出现的问题
- TreePanel的各项属性
- linux 配置 django & java项目
- 关于SQL语句方面的问题
- SQL service Truncate和sp_MShelpcolumns
- Ext.isEmpty( Mixed value, [Boolean allowBlank] ) 用法
- SQL,清空数据库时,将ID清零
- CvMemStorage,CvSeq,CvContour和cvFindContour的分析
- 字符串的全排列与拓展
- Android图片的获取和存储
- [转载] Bash Shell中命令行选项/参数处理
- Ext的日期格式说明(转载)
- Ext中有几个以get开头的方法
- 【引用】自己封装的Extjs组件combox(2)
- 【引用】自己封装的Extjs组件GroupGrid(1)