struts文件下载

1.struts.xml文件中的配置

<action name="download" class="com.koubei.DownloadAction">
<result type="stream">
<param name="contentType">application/octet-stream</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">attachment;filename="${filename}"</param>
<param name="bufferSize">4096</param>
</result>
</action>

contentType指定下载文件类型,application/octet-stream指所有类型

attachment;filename="${filename}" 下载文件的名字,attachment;代表弹出下载框

2.这里我接着上面上传成功后的页面完成下载,所以把上一篇的上传成功的Success.jsp稍作改动

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>上传成功</title>
</head>
<body>
上传成功
<br/>
<s:a href="download.action?uploadFileName=%{uploadFileName}">
<s:property value="uploadFileName" />
</s:a>点击下载文件
<br/>
</body>
</html>

3.下载的动作类

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.ServletActionContext;

public class DownloadAction extends ActionSupport {
private String uploadFileName;
private InputStream inputStream;

public String getuploadFileName() {
return uploadFileName;
}

public void setuploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}

public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}

public InputStream getInputStream() throws Exception {
String realPath = "d:\\Aggressive\\" + uploadFileName;
File file = new File(realPath);
inputStream = new FileInputStream(file);
return inputStream;
}


public String execute() {
return SUCCESS;
}
}


这样就实现下载功能了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值