该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

各位同学好,目前碰到一个问题,Java平台下载大文件下载一部分就结束不能全部下载,有可能是网络问题造成下载中断,请问大家有什么解决办法吗,或者有遇到类似问题的一起讨论一下,下载代码如下:

String fileName = (String) request.getAttribute("fileName");

String absoluteFilePath = (String) request.getAttribute("absoluteFilePath")

File file = new File(absoluteFilePath)

try

try

String ua = request.getHeader("User-Agent").toLowerCase()

if (ua.indexOf("firefox") != -1)

fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1")

} else {

fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll( "\\+", "%20");

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

response.setHeader("Content-Type", "application/octet-stream")

response.setHeader("Content-Length", String.valueOf(file.length()))

response.setHeader("Content-Disposition", "attachment;filename="

+ fileName)

InputStream bis = new FileInputStream(file)

OutputStream bos = new BufferedOutputStream(

response.getOutputStream())

int i = 0

byte[] buffer = new byte[3 * 1024]

while ((i = bis.read(buffer)) != -1)

bos.write(buffer, 0, i);

bis.close();

bos.flush();

bos.close()

} catch (Exception e)

String exName = e.getClass().getName()

if(!exName.endsWith("ClientAbortException")){

e.printStackTrace();

}

} finally {

logger.info("deleting file successfully:" + file.delete());

}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐