一、前端界面
<a href="/项目名/route/outputFile">导出</a>
二、后端代码 (路径 /route 映射到 routeController.class )
public void outputFile()
{
File file=new File(filePath);
if( file.exists()) //如果filePath下的文件是存在的
{
renderFile(file,"filename");
// renderFile 中的参数可以是File类变量,输出文件的文件命名
//文件命名(选填 一般是随机数:UUID.randomUUID().toString()+".文件类型")
}
}
三、遇到过的问题
1、renderFile的函数的调用js 要写在html里面,不能是在js文件里
原先是写的button 的click函数调用这个接口,但是一直是文件存在于tomcat相对路径下面而不会在前端获取,就是说你在远程服务器上运行这个项目,生成的文件只会在远程服务器的那个目录下而不会到客户端的下载路径下;
于是就用了<a>标签 用它的href进行调用,这样存在的问题是:
如果这个文件不存在,就不会有返回文件,返回的code也解析不了(emm 这个是我没去研究):
if(file.exists){renderFile(file);} else {renderJson(new Result(CodeConstant.Fail));} 会显示这个界面:
如果没有if 判断,会跳转到 http://localhost:8080/项目名/route/outputFile.html 这个界面下...