package com.lgh.action.admin;
import java.io.File;
import java.io.InputStream;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Namespaces;
import org.apache.struts2.convention.annotation.Result;
@Namespaces( { @Namespace(value = "/admin") })
public class DownloadAction extends ActionSupport {
private String fileName;// 初始的通过param指定的文件名属性
public InputStream getInputStream() throws Exception {
InputStream inputstream = ServletActionContext.getServletContext().getResourceAsStream("/" + fileName);
return inputstream;
}
@Action(value = "/downloadFile", results = { @Result(type = "stream", params = { "contentType", "application/octet-stream;charset=ISO8859-1", "inputName",
"inputStream", "contentDisposition", "p_w_upload;filename=${downloadFileName}", "bufferSize", "4096" }, name = "download")})
public String downloadFile() throws Exception {
return "download";
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
/** 提供转换编码后的供下载用的文件名 */
public String getDownloadFileName() {
String downFileName = fileName;
try {
downFileName = java.net.URLEncoder.encode(downFileName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return downFileName;
}
}
jsp页面调用
function download(fileName){
if(fileName == ''){
alert('下载文件已不存在');
return false;
}
var downUrl = '${basePath?default("../")}admin/downloadFile?fileName=' + fileName;
open(encodeURI(downUrl));
}
<a href="#" onclick=download("这里是文件名称如“test.zip”")>下载</a>
//参考网站
http://www.wsria.com/archives/1172
struts2 convention实现下载文件
原创
©著作权归作者所有:来自51CTO博客作者lghclub的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:web项目初始数据
下一篇:JAVA调用接口实现
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
centos7用命令上传、下载文件
centos7用命令上传、下载文件
centos linux 上传下载 -
struts2的下载文件
struts2的下载文件
struts2.0 struts 下载文件 java apache -
简述Struts2 Convention零配置
<br /><br />从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,
struts action login namespaces java -
struts2的上传文件与下载文件
struts2文件上传和下载,整清思路,方便google
struts2文件上传和下载 整清思路 方便google -
文件下载 struts2文件下载 struts2注解
1、配置文件方式下载文件:这种方式,网上有很多例子,我没有试过,我用的是注解方式。2、注解方式下
文件下载 struts2文件下载 struts2注解 java 下载文件