页面采用ajax方式判断文件是否存在并下载:
$.ajax({
url:'${pageContext.request.contextPath}'+downloadWPath, //此处给出文件地址,如果找不到,会走下面的error处理!
success:function(){
location.href='downloadKeyWord?keywordpath='+encodeURIComponent(downloadWPath);
},
error:function(){
$.messager.show({
title: '提示',
msg: "该关键字文件已不存在!",
showtype:'fade',
timeout:3000,
style:{
right:'',
bottom:''
}
});
}
});
strrut.xml 配置中,把下载操作放在ajax的处理包中,
<package name="ajax" extends="json-default">
<action name="downloadKeyWord" class="com.geo.dsp.ioperator.action.ManageExecuteAction" method="downloadKeyWord">
<result name="success" type="stream">
<param name="contentType">application/octet-stream;charset=ISO8859-1</param>
<param name="inputName">keyWordStream</param>
<param name="contentDisposition">filename=${downloadFileName}</param>
<param name="bufferSize">1024</param>
</result>
</action>
<package>
java方法:
public String downloadKeyWord() {
String keyWordpath = request.getParameter("keywordpath");
keyWordStream = ServletActionContext.getServletContext().getResourceAsStream(keyWordpath);
downloadFileName = keyWordpath.split("/")[keyWordpath.split("/").length - 1].split("_")[0] + ".txt"; //下载时显示文件的名字
return "success";
}