java文件日志功能_JAVA文件下载功能问题解决日志

这篇博客记录了在Java中实现文件下载功能时遇到的问题及解决方案,包括:使用window.location.href发起下载请求,解决文件名乱码问题,处理getWriter()已调用的错误,以及前端拼接文件路径的方法。同时提供了相关的控制器代码作为参考。
摘要由CSDN通过智能技术生成

今天给报告系统做了个下载功能,遇到了挺多问题,通过查资料一一解决了。

1、首先遇到的问题是:java后台的输出流输出之后,没有任何报错,浏览器端不弹出保存文件的对话框,原本是ajax请求到后台的controller方法中添加了下载的方法,type和async两个参数的四种组合都不行,弃用ajax,用window.location.href='file/download?path='+file;重新发一个新的下载请求之后,保存对话框终于弹出。

2、弹出之后,发现文件名乱码,后台的解决方案代码如下:

private static final String CHARSET = "utf-8";

String agent = request.getHeader("User-Agent").toLowerCase();if (agent != null && (agent.indexOf("msie") != -1 ||(agent.indexOf("rv") != -1 && agent.indexOf("firefox") == -1))) {

fileName= URLEncoder.encode(file.getName(), "UTF-8");

}else{

fileName= new String(file.getName().getBytes(CHARSET), "ISO8859-1");

}

3、后台一直在报错getWriter() has already been ca

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值