最近遇到一个问题,总结一下。
在网页中定义按钮,后台生成文件保存至服务器,前台jsp下载文件。
可以在jsp中设置一个下载按钮然后点击下载按钮通过onclick属性跳转另一个jsp,在另一个jsp中加载后台download方法实现文件的下载。
后台action中可以写个方法让 跳转后的jsp调用
/**
* FirstAction中文件下载的方法
* @throws Exception
*/
public void downLoad() throws Exception{
//得到要下载的文件
String fileName = "D:/apache-tomcat-8.5.12/webapps/txtResource/123456.txt";
fileName = new String(fileName.getBytes("UTF-8"),"UTF-8");
//处理文件名
// String realname = fileName.substring(fileName.indexOf("_")+1); 该方法是根据服务器上该文件的路径作为名字进行命名,不好。
//为了防止下载文件名字重复又冲突以系统时间命名
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd_HHmmss"); //取系统时间,想取什么样式的,在"yyyyMMdd_HHmmss"修改成什么样式的就行
String realname=df.format(new Date())+".xls"; // “+”号后面是你