下载的核心java代码:
Action类:
public class Download extends ActionSupport {
//下载文件
private String fileName = "";
public String getFileName() throws UnsupportedEncodingException {
return new String(fileName.getBytes("gbk"), "iso-8859-1");
}
//为需要下载的文件进行编码
public void setFileName(String fileName)
throws UnsupportedEncodingException {
this.fileName = new String(fileName.getBytes("iso-8859-1"));// 防止乱码名称的出现
}
/**
* 下载方法
* @return
* @throws IOException
*/
public InputStream getDownloadFile() throws IOException {
ServletActionContext.getResponse().setContentType(
"application/x-msdownload");// 告诉浏览器是下载类型
//获得需要下载文件的路径
String str=ServletActionContext.getServletContext().getRealPath("") + "\\"+"upload"+"\\"+fileName;
//读取下载文件
FileInputStream fileInputStreamRef = new FileInputStream(new File(str));
ServletActionContext.getResponse().setHeader("Content-Disposition",
"attachment;filename=" + getFileName());// 设置下载文件的默认名称
return fileInputStreamRef;
}
//struts2请求执行的方法
public String execute() throws IOException {
//返回成功,配置文件中再执行一次请求调用InputStream方法
return "success";
}
}
<!-- -下载使用的配置 -->
<action name="download" class="cn.com.zz.action.Download">
<result name="success" type="stream">
<param name="contentDisposition">attachment;filename=${fileName}</param>
<param name="inputName">downloadFile</param>
</result>
</action>
一个较为完整的下载配置:
<action name="download" class="com.upload.struts2.action.DownloadAction">
<result name="success" type="stream">
//指定下载的类型
<param name="contentType">application/vnd.ms-word</param>
//动态获取下载文件名
<param name="contentDisposition">filename="test.doc"</param>
//指定被下载文件的入口输入流
<param name="inputName">downloadFile</param>
//指定下载文件时的缓冲区大小,默认的是1024字节。
<param name="bufferSize">2048</param>
</result>
</action>
分享到:
相关推荐
使用struts2实现文件下载功能,可以直接运行!
主要介绍了JSP开发之Struts2实现下载功能的实例的相关资料,这里提供实现代码帮助大家实现这样的功能,希望能帮助到大家,需要的朋友可以参考下
该文档总结了struts2框架技术实现下载功能的全部过程,是我在做开发时总结出来的,现在分享给大家。
struts实现的文件上传下载功能,最大可以上传到150MB
Struts2实现文件上传的功能,简洁方便,欢迎下载。
简单的实现j2ee中struts2的开发
一个利用Struts2实现文件的上传下载,使用的是同步方式。没有用ajax请求
简单实现注册登录功能。开发环境为eclipse,使用struts2框架。
网上的Struts2进行的文件下载一般都是单文件或者固定的文件,并没有(很少)实现随意文件的下载的例子 提供多文件上传,上传成功后,提供刚上传的文件下载功能(其他的都可以在其上面进行扩充) 多文件 上传 下载...
用struts2实现用户的注册,涉及到的知识点包括用户名和密码的校验(正则表达式验证);国际化;radio,checkboxlist,optiontransferselect等标签的使用,文件的上传等。
基于Struts2的文件上传下载功能的完整源代码。经过测试可正确运行。
struts1和struts2分别实现文件上传下载功能
3. 实现:使用 Struts2 框架实现项目的功能。 4. 测试:对项目进行测试和调试。 5. 部署:将项目部署到生产环境中。 Struts2 框架的技术架构 Struts2 框架的技术架构主要包括以下几个部分: 1. Action:负责处理...
struts2 实现增删改查。源码 struts2 实现增删改查。以及拦截器的功能实现源码
完整的基于Struts2的上传下载功能实现,开发平台为MyEclipse
Struts实现上传下载功能 不会的可以进来参考一下
使用struts2实现上传下载功能(附代码)。类似于ftp服务器。不止局限于本机的上传下载,其他机器也可使用此功能,服务器似的功能
实现:Myeclipse+mysql 框架:Struts2
在北大青鸟培训上课,老师用Strus2实现上传功能的代码