zoukankan      html  css  js  c++  java
  • java web 怎么下载大文件(上百M)

    Java代码  说明: 收藏代码

    1.     InputStream fis = new BufferedInputStream(new FileInputStream(path));  

    2.                 response.reset();  

    3.                 response.setContentType("text/html;charset=utf-8");  

    4.                 request.setCharacterEncoding("UTF-8");  

    5.                 response.addHeader("Content-Length""" + file.length());  

    6.                 OutputStream toClient = new BufferedOutputStream(response.getOutputStream());  

    7.                 response.setContentType("application/octet-stream");  

    8.                 response.setHeader("Content-disposition""attachment;filename="new String(filename.getBytes("utf-8"), "ISO8859-1"));  

    9.                 int bytesRead = 0;  

    10.               byte[] buffer = new byte[8192];  

    11.               while ((bytesRead = fis.read(buffer, 08192)) != -1) {  

    12.                   toClient.write(buffer, 0, bytesRead);  

    13.               }  

    14.               toClient.write(buffer);  

    15.               toClient.flush();  

    16.               toClient.close();  

    17.               fis.close();  

     这种方法试过了,仍然内存溢出

    在网上找了半天,才找到解决办法,运行项目。

      

    文件已下载完成。设置的下载目录:C:UsersliuDesktop工程项目

    大小一模一样,可以看出文件真的被完整的下载下来了。

    DEMO下载地址:https://dwz.cn/Jw3z6fVq


  • 相关阅读:
    [记录]MySQL 查询无法导出到文件
    Unity3D 在Update中不要过多地修改Transform 信息
    Unity3D 中 脚本(MonoBehaviour) 生命周期WaitForEndOfFrame需要注意的地方
    RunTime的简单使用
    GIT命令行的使用
    UIImagePickerController和UIAlertController结合使用
    NSSortDescriptor对象进行数组排序
    for..in遍历,枚举器
    Objective
    Objective
  • 原文地址:https://www.cnblogs.com/xproer/p/10768630.html
Copyright © 2011-2022 走看看