Struts文件下载具体解释
2024-08-31 06:02:05
在做项目中上传下载肯定是少不了的,本博文对struts2的下载进行解释并附上部分代码
1、action类
public class FileDownLoadAction extends ActionSupport{
private String filename;//下载文件的名称 @Override
public String execute() throws Exception {
return SUCCESS;
}
//下载源
public InputStream getInputStream() throws IOException{
String path =ServletActionContext.getServletContext().getRealPath(filename);//获取文件路径
//System.out.println("path="+path);
File file = new File(path);
return FileUtils.openInputStream(file);
}
//下载文件名
public String getDownloadFileName() throws Exception{
String downloadFileName="";
String []filenames=filename.split("/");
//System.out.println(filenames[filenames.length-1]);
downloadFileName=URLEncoder.encode(filenames[filenames.length-1], "UTF-8");//解决下载中文命名文件乱码问题
return downloadFileName;
}
///////////////////////////////////////////字段封装//////////////
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
}
2、struts2.xml配置
<action name="download" class="com.zzuli.student.action.FileDownLoadAction">
<!--以流的方式返回 -->
<result name="success" type="stream">
<!--文件流 -->
<param name="contentType">application/octet-stream</param>
<!--下载源 -->
<param name="inputName">InputStream</param>
<!--以附件方式下载 downloadFileName相应Action类getDownloadFileName() -->
<param name="contentDisposition">attachment;filename="${downloadFileName}"</param>
<!--缓冲流大小 -->
<param name="bufferSize">8192</param>
</result>
3、jsp下载链接页面
<td>
<a href="download.action?filename=${documentUrl}">点击下载</a>
</td>
具体具体解释请查看Struts官方文档
最新文章
- [moka同学收藏]Vim升华之树形目录插件NERDTree安装图解
- javascript中call函数与apply
- 欢迎你,phpWeChat 开发者
- iOS开发--关于TableViewCell的可视化设置细节
- css3 @font-face设置嵌入字体
- MYSQL基本操作语句
- [OpenCV] Image Processing - Fuzzy Set
- iOS开发之 XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)
- JavaScript--正则表达式(笔记)
- [转载]MongoDB开发学习(1)开天辟地,经典入门
- Python安装、配置
- 04747_Java语言程序设计(一)_第8章_多线程
- 【IOS开发】搜索和排序(好友列表,通讯录的实现,searchbar)
- split和join函数的比较
- Linux基础四
- Mysql--执行计划 Explain
- 【Java基础】【19异常&;IO(File类)】
- Calendar 使用
- 深入学习c++(虚函数遇到析构函数就退化了)
- 20164322韩玉婷 -----Exp1 PC平台逆向破解