`
xyqck163
  • 浏览: 106658 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

使用apache IoUtil 对接流,实现文件下载

阅读更多

前一阵子做文件下载,按照以往的做法需要写循环操作输出流非常麻烦,基本都是拷贝,读写都不方便。

灵机一动我改用了IOUtils.copy 方法成功实现了操作,写起来比较简洁,看代码:

            //文件名
            String myfileName=new String(filename.getBytes());
            //需要下载的文件
            String filepath=request.getSession().getServletContext().getRealPath("/test.jpg");
            
            File myfile = new File(filepath);
            // 清空response
            response.reset();
            // 设置response的Header
            response.addHeader("Content-Disposition", "attachment;filename=" + myfileName );
            response.addHeader("Content-Length", "" + myfile.length());
            response.setContentType("application/octet-stream");
            
            //打开文件输入流 和 servlet输出流
            OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
            InputStream fis = new BufferedInputStream(new FileInputStream(file));
            
            //通过ioutil 对接输入输出流,实现文件下载
            IOUtils.copy(fis, toClient);
            toClient.flush();
            //关闭流
            fis.close();
            toClient.close();


分享到:
评论

相关推荐

    Apache 文件上传与文件下载案例详解

    本案例将详细讲解如何在Apache环境下实现文件上传和下载。 首先,我们来看`web.xml`的配置部分,这是Java Web应用的部署描述符,用于定义Servlet及其映射。在这个案例中,有三个Servlet被定义:`...

    用org.apache.commons.net.ftp.FTPClient包实现简单文件下载

    在本文中,我们将深入探讨如何使用`org.apache.commons.net.ftp.FTPClient`包来实现简单的文件下载功能。这个过程涉及到几个关键步骤,包括连接到FTP服务器、登录、设置传输模式、下载文件以及断开连接。 首先,你...

    ApacheSpark设计与实现.pdf+ApacheSpark源码剖析.pdf+Spark原著中文版.pdf

    《Apache Spark设计与实现》这本书可能会详细讲解Spark的架构设计,包括其核心组件如弹性分布式数据集(RDD)、Spark SQL、Spark Streaming、MLlib(机器学习库)和GraphX(图计算)。书中可能涵盖了以下知识点: 1...

    利用jsp实现文件上传下载

    在本文中,我们将学习如何使用 JSP 实现文件上传和下载功能。在这个过程中,我们将使用 Apache 的 Commons FileUpload 和 Commons IO 两个库来处理文件上传和下载。 首先,让我们了解一下文件上传和下载的基本概念...

    Apache(文件上传下载)

    在Apache中实现文件的上传和下载功能是常见的需求,特别是在开发交互式网站时。本篇将详细讲解如何利用Apache进行文件上传与下载。 首先,我们需要理解Apache的HTTP协议基础,它是Web服务器和客户端之间通信的标准...

    Apache POI库jar文件

    开发人员可以使用Apache POI库来读取、写入和修改这些格式的文档。 提供多种API:Apache POI库提供了多种API,包括HSSF、XSSF、HWPF、XWPF、HSLF和XSLF等。这些API可以帮助开发人员处理不同类型的Office文档,例如...

    Apache Spark的设计与实现 PDF中文版

    本文主要讨论 Apache Spark 的设计与实现,重点关注其设计思想、运行原理、实现架构及性能调优,附带讨论与 Hadoop MapReduce 在设计与实现上的区别。不喜欢将该文档称之为“源码分析”,因为本文的主要目的不是去...

    Apache使用指南与实现原理

    这份"Apache使用指南与实现原理"将帮助我们深入理解Apache的工作机制,掌握其配置与管理技巧。 一、Apache基础 Apache服务器主要负责接收HTTP请求,并返回响应信息,即网页内容。它基于模块化设计,可以根据需求...

    tomcat 实现文件上传下载

    以上就是使用Struts2和Tomcat实现文件上传下载的基本流程。实际开发中,还需要考虑文件大小限制、多文件上传、错误处理、安全问题(如防止路径遍历攻击)等。通过这个示例,你可以了解到Struts2框架如何与Tomcat配合...

    org.apache.commons.net.ftp.FTPClient FTP工具类,实现上传、下载、压缩到输出流下载等功能

    org.apache.commons.net.ftp.FTPClient FTP工具类,实现上传、下载、压缩到输出流下载等功能

    Springboot+Apache2实现远程linux服务器上传下载文件代码

    实现Springboot+Apache2实现远程linux服务器上传下载文件的代码,这是保存文件的代码,需要把代码运行到有apache服务的服务器,把路径改成你的就可以,然后请求里面的接口就可以进行文件下载和上传了。可以看我博客...

    PHP实现统计文件下载次数

    PHP实现统计文件下载次数 一、开发环境 1、环境搭建:Windows 8+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0 。 2、文本编辑器:Sublime Text3。...本实验主要使用PHP、Mysql和jQuery实现文件下载次数统计。

    基于apache commons.fileupload的文件上传组件,改进了上传速度

    apache commons.fileupload上传组件在上传文件时,在调用parseRequest方法时,先将输入流上传到服务器临时目录,在之后的文件处理过程中,再将临时目录下保存的文件复制到指定的目录,多了一道转储步骤。本实现抽取...

    apacheservlet文件上传与下载

    Apache Servlet 是一个用于处理HTTP请求...通过理解这两个库的使用,开发者可以轻松地在Web应用中实现文件上传和下载功能。在实际开发中,还需要考虑错误处理、安全问题(如防止大文件上传、恶意文件等)以及性能优化。

    使用commons-fileupload实现的文件上传和下载

    通过以上步骤,你可以成功地使用Apache Commons FileUpload实现文件上传和下载功能,并避免中文乱码问题。在实际开发中,还可以结合Spring MVC或Struts等框架,进一步简化代码和提高代码的可维护性。

    pdf.js使用文件流预览pdf

    要使用PDF.js实现文件流预览PDF,我们需要以下几个步骤: 1. **设置项目环境**:由于描述中提到这是一个maven工程,首先确保你的开发环境中已经安装了Node.js、npm(Node包管理器)以及Apache Maven。你需要创建一...

    apache.commons全套jar包下载

    例如,FTPClient可以方便地进行FTP文件上传和下载,而SMTPClient则可以帮助实现邮件发送。 5. Apache Commons Lang: 这是Java语言功能的扩展,提供了字符串操作、日期时间处理、枚举工具、数学运算等类。例如,...

    apache fileupload处理文件上传(流式和非流式)

    虽然标题中没有明确提到HTTPClient,但通常在实现文件上传时,我们可能需要使用HTTP客户端库(如Apache HttpClient)来模拟客户端发送文件上传请求。HttpClient允许你构建复杂的HTTP请求,包括POST请求携带文件。...

    org.apache.tools.zip.*和org.apache.commons.httpclient.*实现远程文件打包下载,支持中文文件名

    这篇博客“org.apache.tools.zip.*和org.apache.commons.httpclient.*实现远程文件打包下载,支持中文文件名”探讨了如何利用Apache开源库来实现这个功能。Apache的`tools.zip`和`commons-httpclient`模块为开发者...

Global site tag (gtag.js) - Google Analytics