struts-基础内容-8-文件下载
2016-12-08 18:02
281 查看
struts2文件下载需要action提供一个返回InputStream流的方法,代表了被下载文件的入口。
一:写action类
DownloadAction.java
二:配置action
配置期望能键下载,关键是配置一个类型为stream的结果
结果中需要指定的四个关键属性
contentType:指定被下载文件的文件类型
inputName:指定被下载文件的入口输入流
contentDispostion:指定下载文件的文件名
bufferSize:指定下载文件时的缓冲大小
struts.xml
一:写action类
DownloadAction.java
package Action; import com.opensymphony.xwork2.ActionSupport; import java.io.FileInputStream; import java.io.InputStream; /** * Created by cxspace on 16-7-12. */ public class DownloadAction extends ActionSupport{ //可以在配置文件中动态的指定该属性值,要下载文件的路径 private String inputPath; public String getInputPath() { return inputPath; } //依赖注入改属性值的方法 public void setInputPath(String inputPath) { this.inputPath = inputPath; } /× 定义一个返回InputStream的方法,改方法將作为被下载文件的入口,且需要配置stream类型结果指定的inputName参数 inputName参数值就是方法去掉get前缀、首字母小写的字符串 ×/ public InputStream getTargetFile () throws Exception { return new FileInputStream(inputPath); } }
二:配置action
配置期望能键下载,关键是配置一个类型为stream的结果
结果中需要指定的四个关键属性
contentType:指定被下载文件的文件类型
inputName:指定被下载文件的入口输入流
contentDispostion:指定下载文件的文件名
bufferSize:指定下载文件时的缓冲大小
struts.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="testFile" extends="struts-default"> <action name="download" class="Action.DownloadAction"> <!--输入文件的绝对路径--> <param name="inputPath">/home/cxspace/a.txt</param> <result type="stream"> <param name="contentType">application/txt</param> <param name="inputName">targetFile</param> <param name="contentDisposition">filename="a.txt"</param> <param name="bufferSize">4096</param> </result> </action> </package> </struts>
用户访问接口-index.jsp <%-- Created by IntelliJ IDEA. User: cxspace Date: 16-7-12 Time: 下午9:05 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>主页</title> </head> <body> <form method="post" action="download"> <input type="submit" value="下载"> </form> </body> </html>
相关文章推荐
- Struts基础学习-文件上传与下载
- struts-基础内容-7-文件上传
- struts 让浏览器提示文件下载,而不是显示文件的内容
- struts文件下载---自主写入下载内容
- Struts实现文件下载中文乱码解决方案
- struts 实现文件上传与下载
- struts 实现文件上传与下载
- 下载DataGrid内容,作为Excel可打开的文件
- 彻底解决中文名文件下载和下载文件内容乱码问题!!!!!
- 公司培训讲义[Ajax基础二,课件及Demo下载)(内容更新到UpdatePanel)
- struts 实现文件上传与下载
- Struts实时生成Excel文件下载
- Struts实时生成Excel文件下载
- struts实现文件下载
- 在Struts中实现文件上传下载
- 科汛KesionCMS内容管理系统 商业基础版 V3.0 Sp1 下载
- struts 实现文件上传与下载
- 下载文件内容为空???
- Web 中将DataSet的内容下载到本地EXCEL格式文件
- Struts实时生成Excel文件下载