如何在jsp与action上实现根据的文件地址,通过点击下载按钮 实现将文件下载下来的功能
时间: 2023-04-02 18:03:33 浏览: 81
您可以在jsp页面上添加一个下载按钮,然后在对应的action中,使用Java的IO流读取文件,将文件内容写入HttpServletResponse的输出流中,设置响应头,使浏览器能够识别文件类型并自动下载。具体实现可以参考以下代码:
在jsp页面上添加下载按钮:
<button onclick="location.href='download.action?filePath=/path/to/file'">下载文件</button>
在对应的action中,使用Java的IO流读取文件,将文件内容写入HttpServletResponse的输出流中,设置响应头,使浏览器能够识别文件类型并自动下载:
public class DownloadAction extends ActionSupport {
private String filePath;
public String execute() throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
FileInputStream fis = new FileInputStream(filePath);
OutputStream os = response.getOutputStream();
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filePath.substring(filePath.lastIndexOf("/") + 1), "UTF-8"));
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
os.write(buffer, , len);
}
fis.close();
os.close();
return null;
}
public void setFilePath(String filePath) {
this.filePath = filePath;
}
}
阅读全文