0 0

从服务器下载文件 总是到一定百分比 停止30

具体表现如下图所示




描述:

     以前下载正常 前天突然附件下载出现这个问题 到一定进度不再继续 下载停止  不能正常下载占7成左右

     不同地区的客户都有这个问题 同一个文件重复下载页如此


     哪位能指点一下 应该从哪里入手或者会是什么问题呢?

     或者我应该怎样排查问题呢?下载链接用https

     部分代码如下

            FileInputStream fileinputstream = new FileInputStream(file);
            httpservletresponse.reset();
            httpservletresponse.setContentType(filevalue.getContentType());
            httpservletresponse.setHeader("Content-disposition", "attachment;filename=" + s4);
            httpservletresponse.setContentLength((int)l);

            InputStream fis = new BufferedInputStream(new FileInputStream(file)); 
            byte [] buffer = new byte [fis.available()]; 
            fis.read(buffer);
            fis.close();
            OutputStream toClient = new BufferedOutputStream(httpservletresponse.getOutputStream()); 
            httpservletresponse.setContentType("application/octet-stream"); 
            toClient.write(buffer); 
            toClient.flush(); 
            toClient.close(); 
2012年5月24日 10:55
  • 大小: 26.3 KB

1个答案 按时间排序 按投票排序

0 0

byte [] buffer = new byte [fis.available()];  // 这里直接把文件大小作为数组是否太大了,你用1024试下,循环读取。



byte[] buffer=new byte[1024];
int i=0;
while((i=fis.read(buffer))!=-1){
toClient.write(buffer,0,i);
toClient.flush();
}
toClient.close();
fis.close();

2012年5月24日 15:12

相关推荐

    VB网络下载程序,获取下载速度、文件大小、百分比等

    在这个项目中,我们需要实现的功能包括获取下载速度、文件大小以及下载的百分比。下面将详细解释这些知识点。 1. **HTTP协议交互**:HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从Web服务器...

    Unity 最新UnityWebRequest 断点续传 下载显示下载进度,百分比 和网速 多少kb.rar

    当下载重启时,程序会检查本地已有文件的大小,然后向服务器发送一个范围请求,请求从上次中断的地方开始下载剩余的部分。 接下来,我们关注下载进度的显示。UnityWebRequest的DownloadHandler或...

    Java 多线程断点下载文件

    Java多线程断点下载文件是一种高效的文件下载方式,它允许在下载过程中暂停并从上次停止的地方继续,尤其适用于大文件下载。以下是实现这一功能的关键知识点: 1. **获取文件信息**: - 使用`java.net.URL`和`java...

    FTP上传下载文件

    FTP客户端可能还支持断点续传功能,即如果上传中断,可以从上次停止的地方继续,避免重新上传整个文件。 FTP下载文件: 下载文件则通过`GET`或`RETR`命令实现。客户端向服务器请求文件,服务器将文件内容通过数据...

    android拍摄视频并上传到PHP服务器

    使用`$_FILES`全局变量接收上传的文件,检查文件大小、类型,然后将文件移动到服务器上的安全位置。注意处理可能出现的错误,如文件过大、格式不正确等。 此外,为了提升用户体验,可以在上传过程中显示进度条或者...

    Java下载文件小工具

    通过建立从服务器到本地的连接,我们可以使用`java.nio`包中的非阻塞I/O或者传统的`BufferedReader`和`BufferedWriter`来实现文件的下载。 在开发这个小工具时,开发者可能采用了HTTP协议进行文件传输,这涉及到`...

    oss下载(断点续传,后台显示进度)源代码.rar

    在开发过程中,特别是涉及大文件下载时,断点续传功能尤为重要,因为它允许用户在中断下载后从上次停止的地方继续,而无需重新开始。此外,后台显示下载进度的功能则可以提升用户体验,让用户清晰地了解文件下载的...

    QT HTTP下载 支持断点续传

    断点续传技术允许在文件下载中断后从上次停止的地方继续下载,而不是从头开始。这通常通过保存已下载部分的元信息(如文件大小、最后下载的字节位置等)实现。在QT中,我们可以通过QNetworkReply对象获取文件的总...

    带完成百分比的jQuery表单插件

    通过这些文件,开发者可以将插件集成到自己的项目中,利用jQuery的便利性和插件的功能,创建出具有完成百分比指示的表单,提升用户填写表单的体验。在实际使用过程中,开发者需要按照`readme.html`中的指导,正确...

    WPF ftp断点上传下载

    断点续传技术允许在文件传输中断后从上次停止的地方继续,这在大文件传输或网络不稳定的情况下非常有用。 在WPF中实现FTP断点上传和下载通常会结合MVVM(Model-View-ViewModel)设计模式。MVVM是一种流行的设计模式...

    易语言HTTP断点下载

    在下载大文件时,断点续传技术非常关键,它允许用户在中断下载后从上次停止的地方继续,而无需重新开始,这对于网络不稳定或下载时间较长的情况尤其有用。 实现易语言HTTP断点下载的核心在于以下几个步骤: 1. **...

    AspUpload,asp上传组件

    例如,`Upload.Save()`方法用于将上传的文件保存到服务器指定的目录。 在压缩包中,可能包含了AspUpload的安装文件、示例代码、帮助文档等资源。安装文件通常是一个`.dll`动态链接库,需要将其注册到服务器的ASP...

    批量上传文件带进度条

    2. 断点续传:如果上传中断,可以从上次停止的地方继续,防止重新上传大文件。 3. 错误处理:提供友好的错误提示,帮助用户理解并解决问题。 4. 取消功能:用户应能随时取消上传任务。 5. 文件预处理:如检查文件...

    下载者源码

    7. **断点续传**:这是一种高级特性,允许下载在中断后从上次停止的地方继续,避免了重新下载整个文件的需求。这需要源码记录和恢复下载进度。 8. **进度反馈**:为了提供用户体验,下载者源码通常会包含进度条更新...

    多线程下载demo

    在实际应用中,还需要考虑一些其他因素,如错误处理(如网络中断、服务器错误等)、断点续传(保存已下载的部分,下次可以从上次停止的地方继续下载)、带宽限制(防止对用户其他网络活动的影响)等。这些功能的实现...

    FILE_DOWNLOAD_SERVER_CLIENT.rar_Client / Server_Download client_

    5. **断点续传**:如果下载中断,可以从上次停止的地方继续。 6. **安全**:确保数据传输的安全性,如使用HTTPS。 综上所述,客户端/服务器下载机制涉及到网络通信、文件传输、多线程编程等多个IT领域的知识。理解...

    java下载器源代码

    Java下载器源代码是一个基于Java编程语言开发的实用工具,用于从互联网上获取并保存文件。这个简单的下载器展示了如何利用Java实现网络I/O操作,处理文件下载,并且可能包括错误处理和进度显示功能。下面将详细介绍...

    Download断点下载

    在Android开发中,断点下载是一项重要的功能,它允许用户在中断网络连接后从上次停止的位置继续下载大文件,提高了用户体验。"Download断点下载"这个主题主要关注如何在Android应用中实现这一特性。 首先,我们需要...

    易语言自动更新-仿真进度条下载

    这意味着在下载中断或失败后,可以从上次停止的地方继续下载,而不是重新开始。这需要在下载开始时保存已有的部分文件信息,并在恢复下载时使用。 5. **错误处理**:在实现自动更新的过程中,必须考虑到可能出现的...

    bat批处理文件实现复制、删除、创建文件夹、执行程序、打开文件

    将文件或目录从 NTFS 卷复制到 FAT 卷或者当目标文件系统需要 FAT 文件系统命名约定(即 8.3 个字符)时,需要 /n。目标文件系统可以是 FAT 或 NTFS。 /o 复制文件所有权与自由选择的访问控制列表 (DACL) 信息。 ...

Global site tag (gtag.js) - Google Analytics