struts2实现简单文件下载功能

网友投稿 235 2023-02-22


struts2实现简单文件下载功能

Struts2提供了stream结果类型,该结果类型是专门用于支持文件下载功能的。配置stream类型的结果需要指定以下4个属性。

contentType:指定被下载文件的文件类型

inputName:指定被下载文件的入口输入流

contentDisposition:指定下载的文件名

bufferSize:指定下载文件时的缓冲大小

struts2文件下载示例:

1.处理文件下载的Action:

/**

* Description:Struts2控制文件下载

* Author: Eleven

* Date: 2018/1/24 10:39

*/

public class FileAction extends ActionSupport{

//该成员变量对应着struts.xml中inputName的值,并为其提供get方法

private InputStream targetFile;

//文件下载

public StringWYbKfw download(){

//指定被下载资源的位置,并返回对应的输入流

String path = "/WEB-INF/images/lib.zip";

//利用getResourceAsStream()将指定文件转为对应的输入流

targetFile = Servlethttp://ActionContext.getServletContext().getResourceAsStream(path);

return SUCCESS;

}

//提供get方法

public InputStream getTargetFile() {

return targetFile;

}

}

文件下载,首先得要有被下载的文件资源,这里我将被下载文件放在了项目的WEB-INF/images的路径下面,可根据自己的需求来,然后直接用ServletContext提供的getResourceAsStream()方法返回指定文件对应的输入流。

2.配置struts.xml

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"http://struts.apache.org/dtds/struts-2.3.dtd">

application/zip

targetFile

4096

在浏览器地址栏中输入对应的文件下载的访问路径,如http://localhost:8080/demo/file_download,即可下载文件了。\


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:spring boot整合redis实现shiro的分布式session共享的方法
下一篇:Struts2实现文件上传功能
相关文章

 发表评论

暂时没有评论,来抢沙发吧~