本文主要详细介绍了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,就可以下载文件了。\
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。