-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
导出文件时是否能加上年月日的后缀 #2894
Comments
ws |
ws是什么意思。。。 |
查看源码后发现,导出文件的名字由jmreport/show接口中result.name属性决定,所以可以拦截响应信息来进行修改文件名: @RestControllerAdvice
public class InterfaceResponseBodyAdvice implements ResponseBodyAdvice<Result> {
@Override
public boolean supports(MethodParameter methodParameter, Class<? extends HttpMessageConverter<?>> aClass) {
return ServletUtils.getRequestOptional()
.map(HttpServletRequest::getRequestURI)
.map(e -> e.contains("jmreport/show"))
.orElse(false);
}
@Override
public Result<?> beforeBodyWrite(Result result, MethodParameter methodParameter, MediaType mediaType, Class<? extends HttpMessageConverter<?>> aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {
Object result1 = result.getResult();
JSONObject jsonObject = JSONUtil.parseObj(result1);
Object name = jsonObject.get("name");
if (name != null) {
// 文件名加上日期后缀
jsonObject.replace("name", name + "-" + DateUtil.now());
result.setResult(jsonObject);
}
return result;
}
} 里面的自定义方法,自己改一下就好。 |
我是这样写的,但是报错提示我没有getReportDb方法,版本是1.7.9 import cn.hutool.core.date.DateUtil; @RestControllerAdvice
}`
|
你再仔细看看前端给的文件名是怎么出来的 |
result就是从show接口里面拿的,你再仔细看看 |
已优化,后期版本导出显示文件名_时间戳格式 |
强 |
版本号:1.7.8
问题描述:导出文件时是否能加上时间戳
重现步骤:目前导出都是一个名字,浏览器会自动给名称后面+(1)这种名称,能否加上年月日或时间戳,例如 学生一览表,导出时加上 学生一览表2024-08-15 10:04:25.xlsx这样
友情提示(为了提高issue处理效率):
The text was updated successfully, but these errors were encountered: