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


  • 相关阅读:
    JVM,反射与动态代理
    11款实用的一句话网站设计代码
    Winform TextBox中只能输入数字的几种常用方法(C#)
    列表checkbox全选
    函数调用约定
    vs编译后在本机能运行,在别的机器上运行提示runtime Error的问题
    学习地形编程(一)
    Ogre中动态三维鼠标的实现
    讲讲volatile的作用
    绕任意轴旋转的推导
  • 原文地址:https://www.cnblogs.com/xproer/p/10768630.html
Copyright © 2011-2022 走看看