博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java之struts2之文件下载
阅读量:5038 次
发布时间:2019-06-12

本文共 1701 字,大约阅读时间需要 5 分钟。

1.在实际应用开发中,文件下载功能也非常常见。

2.最简单的文件下载方式是通过超链接来进行文件下载:

注意:直接通过超链接下载文件,如果浏览器能够读取文件,浏览器会直接读取,而不会下载到本地。并且有安全问题。所以,可以通过action来实现下载。

3.Struts2文件下载功能的实现:

Action实现

public class DownloadAction {    private String fileName;    public String execute(){        return Action.SUCCESS;    }    //获取文件流    public InputStream getInputStream() throws FileNotFoundException{        String path=ServletActionContext.getServletContext().getRealPath("/download");        return new FileInputStream(new File(path,fileName));    }    public String getFileName() {        return fileName;    }    public void setFileName(String fileName) {        this.fileName = fileName;    }}

Struts.xml

inputStream
attachment;filename=${fileName}

jsp

 

或者 Action的另一种写法:

public class DownloadAction {    private String fileName;    private InputStream inputStream;    public String execute() throws FileNotFoundException{        String path=ServletActionContext.getServletContext().getRealPath("/download");        inputStream =  new FileInputStream(new File(path,fileName));        return Action.SUCCESS;    }    public InputStream getInputStream() {        return inputStream;    }    public void setInputStream(InputStream inputStream) {        this.inputStream = inputStream;    }    public String getFileName() {        return fileName;    }    public void setFileName(String fileName) {        this.fileName = fileName;    }}

转载于:https://www.cnblogs.com/Vincent-yuan/p/11161226.html

你可能感兴趣的文章
FreeMarker解析json数据
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
次序+“选择不重复的记录”(3)——最大记录
查看>>
Codeforces 450 C. Jzzhu and Chocolate
查看>>
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
ACdream 1115 Salmon And Cat (找规律&&打表)
查看>>
JSON、JSONP、Ajax的区别
查看>>
AngularJS学习篇(一)
查看>>
关于Xshell无法连接centos6.4的问题
查看>>
css3动画——基本准则
查看>>
javaweb常识
查看>>
Java注解
查看>>
web自己主动保存表单
查看>>
一个小的日常实践——高速Fibonacci数算法
查看>>
机器学些技法(9)--Decision Tree
查看>>
drf权限组件
查看>>
输入月份和日期,得出是今年第几天
查看>>
Qt中子窗口全屏显示与退出全屏
查看>>
使用brew安装软件
查看>>
[BZOJ1083] [SCOI2005] 繁忙的都市 (kruskal)
查看>>