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


  • 相关阅读:
    葡萄城报表介绍:数据报表的七个原则
    while(scanf("%d",&n)!=EOF)
    不容易系列之(3)—— LELE的RPG难题
    错排公式
    _​_​i​n​t​6​4​ ​与​l​o​n​g​ ​l​o​n​g​ ​i​n​t
    杭电ACM 2046 阿牛的EOF牛肉串
    C++Builder 中使用 __int64 整数的问题
    折线分平面——杭电2050
    复合梯形公式与复合辛普森公式求积分
    两套蓝桥杯热身题
  • 原文地址:https://www.cnblogs.com/xproer/p/10768630.html
Copyright © 2011-2022 走看看