gpt4 book ai didi

java - 3gb后下载失败

转载 作者:太空宇宙 更新时间:2023-11-04 07:29:36 25 4
gpt4 key购买 nike

我使用java代码从服务器下载文件,下载文件后,文件将从服务器中删除。文件总大小为200GB。开始下载并显示下载成功。当我检查下载的文件大小时,它只有 3.3 GB。并且该文件也不会被删除。我已经检查了错误日志,但没有日志。这是我的代码。

byte b[] = new byte[2048];

int len = 0;
filein = new BufferedInputStream(new FileInputStream(file));
output = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/force-download");
response.setHeader("content-Disposition", "attachment; filename=" + fname); // downloaded file name
response.setHeader("content-Transfer-Encoding", "binary");
while ((len = filein.read(b)) > 0) {
output.write(b, 0, len);

output.flush();
}
output.close();
filein.close();
file.delete(); // delete file

请建议我缺少什么..

最佳答案

我认为在响应开始占用过多内存后,您的服务器会终止下载(结束响应)。检查可用内存是否有问题。 Linux 有一个守护进程,如果事情开始变得严重,它会简单地杀死高内存使用率的进程。

如果服务器突然结束响应,则可能是客户端(浏览器)仍然认为下载成功。这也可以解释为什么如果抛出异常,文件不会被删除。

我将 while 循环包装在 try{..}catch(Throwable t)//捕获所有异常和错误中看看会发生什么。

关于java - 3gb后下载失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17943324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com