Struts文件下载
2024-10-19 21:19:07
/* 文件下载的先决条件
* 1. 在xml配置文件中必须配置一个type="stream"的result, result中不需要填写任何内容 * 2. 在Action中编写一个接收文件名的String, 这个变量名必须和JSP页面的参数名完全吻合
* 3. 可以在result中配置一个名为"contentDisposition"的参数, 值是attachment;fileName=${fileName}
* * attachment表示当前下载的内容让浏览器以下载的方式打开
* * ${fileName}表示从对应的Action中获取要下载的文件名, Action中必须提供对应参数的getter方法
*/
1.代码示例:
--->Action类
public class FileDownLoadAction extends ActionSupport {
private static final long serialVersionUID = 1L;
//文件传过来的名字
private String fileName; public String getFileName() {
return fileName;
} public void setFileName(String fileName) {
this.fileName = fileName;
} public String execute() throws Exception {
System.out.println("FileDownLoadAction.execute()");
if (fileName == null) {
System.out.println("文件不存在");
}
System.out.println(fileName);
return SUCCESS;
}
//下载文件的主要业务处理
public FileInputStream getInputStream() throws Exception {
//获取到"/FileTransport"的路径
String path = ServletActionContext.getServletContext().getRealPath("/FileTransport");
//获取到"/FileTransport"路径下和接受到的文件名一样
File file = new File(path, fileName);
//返回获取到的文件
return new FileInputStream(file);
}
}
--->filedownload.jsp
<body>
提交过去的值为文件名相同
<a href="${pageContext.request.contextPath}/filedownload?fileName=index.txt">文件下载</a>
</body>
----->配置struts.xml文件
<action name="filedownload" class="com.gxxy.filetransport.fileupload.FileDownLoadAction">
<result>/JSP/filetransport/filedownload.jsp</result>
<result type="stream">
<param name="contentDisposition">attachment;fileName=${fileName}</param>
</result>
</action>
最新文章
- Vim命令合集
- JavaScript 学习笔记(一)
- C语言 ---- 循环分支 iOS学习-----细碎知识点总结
- maven的安装与使用
- CGFloat和float
- Curvy unity
- des 加密 iOS
- CSharp笔记>;>;>;多语言,注册
- javascript之DOM编程设置节点插入节点
- util.go 源码阅读
- 部署WebService
- 【纪录】Proxychain4 使用部署以及利用 ss 加速下载操作
- SharePoint Framework Extensions GA Release
- Nodejs安装express提示不是内部或外部命令
- virtualenv搭建python3 环境
- 特征选择 - Filter、Wrapper、Embedded
- python mysql connector
- 错误检查roswtf
- 超全面的JavaWeb笔记day17<;JDBC>;
- Topic 与 Partition