一、前端界面
<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 这个界面下...
本文探讨了前端界面导出功能的实现与后端代码配合的细节,分享了使用<a>标签调用后端接口导出文件的方法,及解决文件存在性和返回状态的问题。
334

被折叠的 条评论
为什么被折叠?



