struts2实现简单文件下载功能

struts2实现简单文件下载功能

本文主要详细介绍了struts2的简单文件下载功能,具有一定的参考价值。感兴趣的朋友可以参考一下。

Struts2提供流结果类型,专门用于支持文件下载。配置流类型的结果需要指定以下四个属性。

ContentType:指定下载文件的文件类型。

Input:指定下载文件的输入流。

ContentDisposition:指定下载的文件名。

BufferSize:指定下载文件时的缓冲区大小。

2 struts2文件下载示例:

1.处理文件下载的操作:

/**

*描述:Struts2控制文件下载

*作者:十一

*日期:2018年1月24日10时39分

*/

公共类FileAction扩展ActionSupport{

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

私有InputStream目标文件;

//文件下载

公共字符串下载(){

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

string path=/we b-INF/images/lib . zip ;

//使用getResourceAsStream()将指定文件转换为相应的输入流。

target file=servletactioncontext . getservletcontext()。getResourceAsStream(路径);

返回成功;

}

//提供一个get方法

公共输入流getTargetFile() {

返回目标文件;

}

}

要下载文件,您必须首先拥有下载的文件资源。这里我把下载的文件放在项目的WEB-INF/images路径下,可以根据自己的需要,然后直接使用ServletContext提供的getResourceAsStream()方法返回指定文件对应的输入流。

2.配置struts.xml

?xml版本=1.0 编码=UTF-8 ?

!DOCTYPE struts公共

-//Apache软件基础//DTD Struts配置2.3//EN

http://struts . Apache . org/dtds/struts-2.3 . dtd

支杆

constant name= struts . enable . dynamicmethodintiation value= false /

常量名称=struts.devMode 值=true /

包名称=default 命名空间=/扩展=struts-default

action name= file _ * class= eleven . action . file action method= { 1 }

!-文件下载-

!-用流的结果类型配置结果-

结果类型=“流”

!-指定下载文件的文件类型-

param name= content type application/zip/param!-图片/jpg -

!-指定返回下载文件的输入流的名称-

param name= input name target file/param

param name= content disposition filename= AAA . zip /param

!-指定下载文件的缓冲区大小-

param name= buffer size 4096/param

/结果

/操作

/包

/struts

在浏览器的地址栏输入对应文件下载的访问路径,比如http://localhost:8080/demo/file _ download,就可以下载文件了。

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

struts2实现简单文件下载功能