文件下载
来源:互联网 发布:java判断字符串为空格 编辑:程序博客网 时间:2024/06/15 10:45
创建action
public class DownloadAction extends ActionSupport{
privateFile[]files;
publicString list(){
//取得文件保存路径
Stringpath=ServletActionContext.getServletContext().getRealPath("/upload");
File f=new File(path);
//获取目录下保存的文件
files=f.listFiles();
return"list";
}
//省略get/set
}
配置struts.xml
<actionname="*down" class="base.MyFileUpload"method="{1}">
<result name="list">/filelist.jsp</result>
</action>
创建fileslist.jsp
<body>
<c:forEachitems="${files }"var="f">
${f.name}<br/>
</c:forEach>
</body>
修改action代码
public class DownloadAction extends ActionSupport{
privateFile[]files;
privateStringfileName;
publicString list(){
//取得文件保存路径
Stringpath=ServletActionContext.getServletContext().getRealPath("/upload");
File f=new File(path);
//获取目录下保存的文件
files=f.listFiles();
return"list";
}
publicInputStream getDownloadFile()throws Exception{
String filePath =ServletActionContext.getRequest()
.getServletContext().getRealPath("/upload/"+fileName);
InputStream is = new FileInputStream(new File(filePath));
//解决下载文件名称问题
fileName=URLEncoder.encode(fileName,"UTF-8");
returnis;
}
publicvoid setFileName(String fileName)throws UnsupportedEncodingException {
//处理get请求中文乱码
this.fileName =newString(fileName.getBytes("iso8859-1"),"utf-8");
}
publicFile[] getFiles() {
returnfiles;
}
publicvoid setFiles(File[] files) {
this.files = files;
}
publicString getFileName() {
returnfileName;
}
}
修改struts.xml文件
<actionname="*down" class="base.DownloadAction"method="{1}">
<result name="list">/filelist.jsp</result>
<result type="stream">
<!-- 下载的文件数据存放的方法,该方法返回一个InputStream
例如取值为inputStream的属性需要编写getInputStream()方法-->
<param name="inputName">downloadFile</param>
<!--下载时,客户端显示的下载的文件名 -->
<param name="contentDisposition">
attachment;filename=${fileName}
</param>
<!-- 数据的缓冲大小 -->
<param name="bufferSize">1024</param>
</result>
</action>
- 下载图片,下载文件
- 文件下载
- 文件下载
- 文件下载
- 文件下载
- 文件下载
- 文件下载
- 下载文件
- 文件下载
- 下载文件
- 文件下载
- 文件下载
- 下载文件
- 文件下载
- 下载文件
- 下载文件
- 文件下载
- 下载文件
- 导航栏返回的上一级的颜色变化如何处理
- 多线程面试题
- 3.第一个Java程序HelloWorld
- Mongodb 利用mongoshell进行数据类型转换
- Maven聚合与继承
- 文件下载
- 关键路径的相关知识
- LeetCode by Java. binary-tree-preorder-traversal
- cifar数据库及图像可视化
- Android M Permission 运行时权限
- Android:使用自定义keystore的方法及注意事项
- NIO学习(二) buffer
- 实时故障树
- oracle存储过程转mysql存储过程修改方法