`

文件流形式下载文件

    博客分类:
  • java
阅读更多
转载来自
引用
http://jlins-you.iteye.com/blog/1553794

public String downLoadSongFile(HttpServletResponse response)  
{  
    InputStream fis = null;  
  
    try  
    {  
        String songName = "";  
        String filePath = "";  
        File file = new File(filePath + songName);  
        if (!file.exists())  
        {  
            return null;  
        }  
  
        // 以流的形式下载文件  
        fis = new BufferedInputStream(new FileInputStream(filePath));  
  
        doDownload(fis, response, songName);  
  
    }  
    catch (IOException e)  
    {  
        e.printStackTrace();  
    }  
    finally  
    {  
        if (null != fis)  
        {  
            try  
            {  
                fis.close();  
            }  
            catch (IOException e)  
            {  
                e.printStackTrace();  
            }  
        }  
    }  
  
    return null;  
}  
  
private void doDownload(InputStream inputStream, HttpServletResponse response, String songName) throws IOException  
{  
    response.setContentType("application/" + resolveContentType(songName));  
    response.setHeader("Content-Disposition", "attachment;" + "filename=" + songName);  
    FileCopyUtils.copy(inputStream, response.getOutputStream());  
}  
  
private String resolveContentType(String fileName)  
{  
    try  
    {  
        return fileName.substring(fileName.lastIndexOf(".") + 1);  
    }  
    catch (StringIndexOutOfBoundsException e)  
    {  
        return "";  
    }  
}  
分享到:
评论

相关推荐

    文件流的下载和上传

    文件流是.NET Framework提供的一个抽象概念,它允许程序以字节序列的形式处理文件,实现了读取、写入和操作文件的功能。常见的文件流类型包括FileStream、MemoryStream和NetworkStream等。 **下载过程:** 1. **...

    将文件上传、下载(以二进制流保存到数据库)实现代码

    在讨论如何将文件上传、下载并以二进制流的方式保存到数据库中时,首先需要了解几个关键概念:文件上传、文件下载、二进制流以及数据库操作。 文件上传通常指的是将本地或者网络上的文件通过网络上传到服务器。在...

    数据流形式下载

    ### 数据流形式下载 在IT领域,特别是在Web开发中,“数据流形式下载”是指通过将文件作为数据流处理...通过以上分析可以看出,采用数据流形式进行文件下载是一种高效且灵活的方法,适用于各种规模的文件传输需求。

    精讲RestTemplate文件上传下载与大文件流式下载.docx

    根据提供的文档标题、描述、标签以及部分内容,本文将详细介绍如何使用Spring框架中的`RestTemplate`进行文件上传、普通文件下载及大文件的流式下载。 ### 一、文件上传 在进行文件上传时,通常涉及到以下几个步骤...

    文件流上传 下载

    ### 文件流上传与下载知识点详解 #### 一、文件流基本概念 在计算机科学领域,文件流是指一种用于处理文件输入输出(I/O)的技术。它通过一系列的类和方法来实现对文件数据的读取和写入操作。Java语言中提供了强大...

    java 使用流下载文件

    在Web应用开发中,经常需要实现文件下载功能,比如用户可以下载系统中的报告、图片、文档等资源。使用Java流来处理文件下载是一种非常常见的技术手段。本文将详细介绍如何利用Java的流(Stream)技术实现文件的下载...

    C# 四种实现文件下载

    本文将介绍四种使用 C# 实现文件下载的方法,分别是使用 TransmitFile、WriteFile、WriteFile 分块下载和流方式下载。这些方法可以满足不同的下载需求,以下是每种方法的详细介绍: 一、TransmitFile 实现下载 ...

    Java以流的形式上传文件

    ### Java以流的形式上传文件 在现代软件开发中,文件上传是常见的功能之一,尤其是在Web应用中。本文将详细介绍如何使用Java通过流的形式实现文件上传,并解析提供的代码示例。 #### 流的概念 在Java中,流...

    pdf.js使用文件流预览pdf

    PDF.js支持文件流预览,意味着我们可以从服务器获取PDF的数据流,然后逐步解析和显示内容,而不需要等待整个文件下载完成。 要使用PDF.js实现文件流预览PDF,我们需要以下几个步骤: 1. **设置项目环境**:由于...

    基于Java文件输入输出流实现文件上传下载功能

    文件下载是指服务器端将文件传输到客户端的过程。在本文中,我们使用Servlet将文件传输到客户端,并设置响应类型和响应头。 在Servlet中,我们使用HttpServletResponse的getOutputStream()方法将文件写入到输出流中...

    C#_.NET_Excel转Xml文件流形式导出Excel

    本篇文章将详细讲解如何在C#中将Excel数据转换为XML文件流,以便进行批量表格导出和打印操作。 首先,我们需要理解Excel与XML之间的转换原理。XML(Extensible Markup Language)是一种结构化数据格式,可以清晰地...

    文件上传/下载使用输入输出流操作文件

    二、文件下载 1. **设置响应头**: 在Servlet中,我们需要设置响应头,包括`Content-Type`(通常是`application/octet-stream`)和`Content-Disposition`,后者包含文件名,告诉浏览器以附件形式下载文件。 2. **...

    以数据流方式下载文件.

    数据流方式下载是一种高效且灵活的文件下载技术,尤其在处理大文件或网络带宽有限的情况下,它能显著提升用户体验。在IT行业中,理解和掌握数据流的原理与应用至关重要。 首先,我们需要理解“数据流”(DataStream...

    post提交,图片以文件流形式上传并保存到数据库

    "Post提交,图片以文件流形式上传并保存到数据库"这一技术主题涉及到的是HTTP的POST请求方式、文件流处理以及数据库存储。以下是对这个主题的详细解释: 1. **POST请求**: POST请求是HTTP协议中的一个方法,用于...

    Ajax 生成流文件下载(实现代码)

    这里我们将详细探讨如何使用Ajax生成流文件下载,以及其背后的工作原理。 首先,我们来看提供的代码片段,它使用了jQuery库来实现Ajax文件下载。代码的核心在于模拟了一个HTML表单,并通过Ajax提交该表单到后台。...

    C# 将图片文件转换成字节流存储在TXT

    因为TXT文件通常用于存储文本,所以在写入字节时,通常会将字节转换为十六进制字符串形式,以便人类可读。下面是如何实现这个功能的示例: ```csharp using (StreamWriter writer = new StreamWriter("image.txt...

    Java后端HttpClient Post提交文件流 及服务端接收文件流

    HttpClient Post提交多文件及多个普通参数,已经封装成工具类。 需传入 要请求的url 普通参数map 例 map.put("param1","张三"); 需要传入的文件流map 其中key为文件名 服务端接收无乱码。

    上传下载二进制流文件

    文件下载同样基于HTTP响应,服务器通过Response对象将文件内容以二进制流的形式发送回客户端。为了实现这一功能,我们需要设置合适的HTTP头信息,如Content-Type和Content-Disposition。以下是一个简单的文件下载...

    文件流IO,android文件流

    文件流就是这种流动的数据在文件系统中的表现形式。 2. 文件流分类:文件流主要分为字节流和字符流两大类。字节流处理单个字节的数据,包括InputStream和OutputStream两个基类;字符流处理Unicode字符,包括Reader...

    flex文件上传下载,在线以pdf形式浏览文件

    2. **文件下载**:文件下载可以通过FileReference的load方法实现。当用户点击下载链接时,服务器返回一个包含文件内容的HTTP响应,Flex应用使用FileReference.load方法加载这个响应,然后调用save方法让用户保存到...

Global site tag (gtag.js) - Google Analytics