struts2文件下载错误提示的解决方法
2011-05-23 14:49
423 查看
1. jsp页面超链接<a href="javascript:void(0)" onclick="downloadFile('${id}')">${name}</a>
2. 表单提交
<form action="downloadFile.html" id="downloadFileForm" method="post" enctype="multipart/form-data" target="downloadFileIframe">
<input type="hidden" id="downloadFileId" name="id"/>
<iframe name="downloadFileIframe" style="display:none"></iframe>
</form>
<script type="text/javascript">
function downloadFile(id){
$("#downloadFileId").val(id);
downloadFileForm.submit();
}
</SCRIPT>
3. struts2.xml
<action name="downloadFile" class="cn.shaviation.frm.webapp.action.FileUploadAction" method="download">
<result name="success" type="stream">
<param name="contentType">${sysfile.type}</param>
<param name="inputName">inputStream</param>
<param name="bufferSize">40960</param>
</result>
<result name="input">/WEB-INF/pages/common/downloadFileErrorMessage.jsp</result>
</action>
4. FileUploadAction中的download方法
public String download() { //下载文件
try {
sysfile = sysfileManager.get(id);
inputStream = new FileInputStream(sysfile.getPath());
getResponse().setHeader("Content-Disposition","attachment; filename="+ URLEncoder.encode(sysfile.getName(), "UTF-8").replaceAll("//+", "%20") ); //replaceAll("//+", "%20")用来处理空格的文件名
} catch (FileNotFoundException e) {
downloadFileMessage="服务器上不存在该文件";
return INPUT;
} catch (UnsupportedEncodingException e) {
downloadFileMessage="其他错误";
return INPUT;
}
return SUCCESS;
}
5. 下载发生错误的处理
<SCRIPT LANGUAGE="javascript">
var downloadFileMessage = "<%=request.getAttribute("downloadFileMessage")%>";
if(downloadFileMessage != "null"){
alert(downloadFileMessage);
}
</SCRIPT>
2. 表单提交
<form action="downloadFile.html" id="downloadFileForm" method="post" enctype="multipart/form-data" target="downloadFileIframe">
<input type="hidden" id="downloadFileId" name="id"/>
<iframe name="downloadFileIframe" style="display:none"></iframe>
</form>
<script type="text/javascript">
function downloadFile(id){
$("#downloadFileId").val(id);
downloadFileForm.submit();
}
</SCRIPT>
3. struts2.xml
<action name="downloadFile" class="cn.shaviation.frm.webapp.action.FileUploadAction" method="download">
<result name="success" type="stream">
<param name="contentType">${sysfile.type}</param>
<param name="inputName">inputStream</param>
<param name="bufferSize">40960</param>
</result>
<result name="input">/WEB-INF/pages/common/downloadFileErrorMessage.jsp</result>
</action>
4. FileUploadAction中的download方法
public String download() { //下载文件
try {
sysfile = sysfileManager.get(id);
inputStream = new FileInputStream(sysfile.getPath());
getResponse().setHeader("Content-Disposition","attachment; filename="+ URLEncoder.encode(sysfile.getName(), "UTF-8").replaceAll("//+", "%20") ); //replaceAll("//+", "%20")用来处理空格的文件名
} catch (FileNotFoundException e) {
downloadFileMessage="服务器上不存在该文件";
return INPUT;
} catch (UnsupportedEncodingException e) {
downloadFileMessage="其他错误";
return INPUT;
}
return SUCCESS;
}
5. 下载发生错误的处理
<SCRIPT LANGUAGE="javascript">
var downloadFileMessage = "<%=request.getAttribute("downloadFileMessage")%>";
if(downloadFileMessage != "null"){
alert(downloadFileMessage);
}
</SCRIPT>
相关文章推荐
- 网上下载的word文档提示在试图打开文件时遇到错误的解决方法
- eclipse 导入项目后,在工程图标上出现红叉,但是工程中的文件并没有提示错误的解决方法
- IE下载文件,没有提示保存的解决方法(zz)
- phpMyAdmin提示:配置文件权限错误,无法写入!解决方法
- iis 7.5 选中站点提示 错误: 无法读取配置文件的解决方法
- mac 下 使用 java运行 class 文件 总是提示 “错误: 找不到或无法加载主类”的解决方法
- 修改远程服务器文件出现500错误并且提示XXX目录is writeable by group的解决方法
- 服务器IIS无法提供某种扩展名的文件的下载或访问某种类型文件提示http 404 错误时的解决办法
- struts2下载文件时,点击取消出错解决方法
- 安装后运行CorelDRAW12 错误提示“未能创建DOM文件 没有注册类别 请校验MSXML4的安装”的解决方法
- 错误提示“运行时错误: “JSON”未定义”解决方法,增加json2.js文件引用
- xfs文件系统提示没有磁盘空间错误的解决方法
- jquery之与struts2整合异步上传文件时弹出下载对话框的解决方法
- JAVA文件下载,IE不提示下载,直接打开的解决方法
- 关于运行VBS文件提示“没有在该机执行windows脚本宿主的权限。请与系统管理员联系。”错误的解决方法
- Java文件中出现这样的提示错误与解决方法:Cannot return from outside a function or method?
- mysql导出表到CSV文件方法及提示错误[Err] 1290 - The MySQL server is running with the --secure-file-priv option解决办法
- Unable to find ‘struts.multipart.saveDir’ Struts2上传文件错误的解决方法
- asp.net网站,打开网站,提示下载网页解决方法(未知文件类型、text/vnd.wap.wml)
- Win7旗舰版系统访问共享文件时提示错误0x800704cf的解决方法