欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用struts2下载文件时需要注意的事项

程序员文章站 2022-05-30 21:34:11
...

需要注意的:

  1. action中method;
  2. inputName的值;
  3. 下载文件入口方法的形式;
//下载文件
public class DownLoadAction extends ActionSupport{
	//被下载文件的入口
	//这里方法需要是get开头,理解为action的一个属性比较好理解,
	//get后面跟的字符串和配置文件中的inputName的值息息相关.
	public InputStream getDownloadFile() {
		return ServletActionContext.getServletContext().getResourceAsStream("/save/ss.txt");
		
	}
	
	@Override
	//这里execute方法需要保留,并且配置文件中没有指定method,所以会执行这个方法.
	public String execute() throws Exception {
		return SUCCESS;
	}
	
}
<!--下载文件的action(method不指定,或者指定为默认的execute方法 ,不是指定为下载文件入口的方法,不然会报错 -->
		<action name="DownLoadAction" class="com.itcast.action.DownLoadAction" method="execute">
			<result type="stream">
				<!--文件的类型  -->
				<param name="ContentType">text/plain</param>
				<!--指定文件名  -->
				<param name="ContentDisposition">
					<!-- 这里filename的值可以指定,不一定和原文件名相同 -->
					attachment;filename="SSddg.txt"
				</param>
				<!-- 输入流 ,inputName的值需要是action中文件输入流方法get后面的字符串,首字母可以大写,也可以小写-->
				<param name="inputName">downloadFile</param>
				<!-- 下载文件时的缓存大小 -->
				<param name="bufferSize">1024</param>
			</result>
		</action>