`
lichengyezi
  • 浏览: 205428 次
  • 性别: Icon_minigender_1
  • 来自: 齐齐哈尔
文章分类
社区版块
存档分类
最新评论

文件下载代码(转)

阅读更多
 public HttpServletResponse download(String path, HttpServletResponse response) {
        try {
            // path是指欲下载的文件的路径。
            File file = new File(path);
            // 取得文件名。
            String filename = file.getName();
            // 取得文件的后缀名。
            String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();

            // 以流的形式下载文件。
            InputStream fis = new BufferedInputStream(new FileInputStream(path));
            byte[] buffer = new byte[fis.available()];
            fis.read(buffer);
            fis.close();
            // 清空response
            response.reset();
            // 设置response的Header
            response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));
            response.addHeader("Content-Length", "" + file.length());
            OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
            response.setContentType("application/octet-stream");
            toClient.write(buffer);
            toClient.flush();
            toClient.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        return response;
    }

    public void downloadLocal(HttpServletResponse response) throws FileNotFoundException {
        // 下载本地文件
        String fileName = "Operator.doc".toString(); // 文件的默认保存名
        // 读到流中
        InputStream inStream = new FileInputStream("c:/Operator.doc");// 文件的存放路径
        // 设置输出的格式
        response.reset();
        response.setContentType("bin");
        response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
        // 循环取出流中的数据
        byte[] b = new byte[100];
        int len;
        try {
            while ((len = inStream.read(b)) > 0)
                response.getOutputStream().write(b, 0, len);
            inStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public void downloadNet(HttpServletResponse response) throws MalformedURLException {
        // 下载网络文件
        int bytesum = 0;
        int byteread = 0;

        URL url = new URL("windine.blogdriver.com/logo.gif");

        try {
            URLConnection conn = url.openConnection();
            InputStream inStream = conn.getInputStream();
            FileOutputStream fs = new FileOutputStream("c:/abc.gif");

            byte[] buffer = new byte[1204];
            int length;
            while ((byteread = inStream.read(buffer)) != -1) {
                bytesum += byteread;
                System.out.println(bytesum);
                fs.write(buffer, 0, byteread);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

 

分享到:
评论

相关推荐

    wpf-dxf文件转G代码

    总结来说,实现“wpf-dxf文件转G代码”的功能,需要掌握WPF界面开发、DXF解析、G代码生成、图形渲染和用户交互设计等多方面技术。通过合理的软件工程实践和不断优化,可以创建一个高效、易用的工具,服务于CAD到CNC...

    WIS文件转换为文本文件的C--源代码_wis_wis转txt的c源代码_

    提供的PDF文件“WIS文件转换为文本文件的C--源代码.pdf”应该包含了具体的实现细节,包括上述各个步骤的代码示例。通过学习和理解这份源代码,开发者可以掌握如何处理类似的数据转换任务,这对于从事地质数据分析...

    hex文件转S19文件VC/MFC程序源代码.zip

    这个“hex文件转S19文件VC/MFC程序源代码.zip”是一个专门用于在Windows环境下,使用Microsoft Visual C++ (VC) 和MFC(Microsoft Foundation Classes)框架编写的程序,目的是将HEX文件转换为S19格式,以适应特定的...

    上传,下载文件代码

    2. **文件下载**: 文件下载通常通过HTTP的GET请求完成。在JSP中,我们可以通过创建一个链接来触发下载。例如: ```jsp <a href="downloadServlet?filename=<%= fileName %>">Download ``` 在后台的Servlet中,...

    上传和下载文件的代码

    客户端这边,开发者可能需要创建一个隐藏的iframe或者使用JavaScript来触发文件下载,避免新开窗口或者刷新当前页面。 在实际开发中,我们还需要考虑以下几点: 1. **安全性**:确保只有授权用户才能访问特定文件...

    fileupload文件上传下载代码示例

    综上所述,"fileupload文件上传下载代码示例"是一个关于使用Java进行文件上传和下载的实践项目。通过学习和理解这些代码,开发者可以掌握在Web应用中处理文件上传和下载的核心技术,从而在实际工作中实现类似功能。

    asp.net文件下载源代码

    本源代码实现了B/S(浏览器/服务器)架构下的文件下载功能,适应于ASP.NET开发环境,能够支持多种文件格式,并且可以直接运行。 在ASP.NET中,文件下载通常涉及到以下几个关键知识点: 1. **HTTP协议**:文件下载...

    OFD批量转换PDF源代码

    1. OFD和PDF文件格式的差异与互转技术:了解两种格式的结构和编码方式,以及如何在两者之间进行转换。 2. Java编程:项目可能是用Java语言编写,学习如何使用Java处理文件读写、数据转换等任务。 3. 第三方库的使用...

    C#实现文件上传下载源代码

    在源代码中,使用了System.Web命名空间中的类和方法来实现文件下载功能。主要包括以下几个步骤: * 使用Response对象来实现文件下载 * 将文件路径转换为虚拟路径 * 使用FileStream对象来读取文件流 * 使用Response...

    Txt文件转换为Dat文件源代码

    最后,提供的"downcode.com"文件可能是下载代码的链接或者包含源代码的压缩文件。在实际操作中,应确保安全地下载和解压文件,并遵循任何适用的许可协议。学习和使用这段代码时,应该遵循良好的编程习惯,尊重原创,...

    http上传下载C++代码实现

    - **`DownLoad`**:文件下载方法。根据提供的SID下载文件,并保存到指定的本地路径。 - **设置与获取IP/端口**:提供了设置和获取IP地址及端口号的方法。 #### 三、代码细节分析 ##### 1. 文件操作 - **`...

    asp文件的下载源代码

    ASP(Active Server Pages)是微软开发的一种服务器端脚本环境,用于创建动态交互式网页。在ASP文件的下载源代码中,通常涉及到两个...在编写下载代码时,要注意安全性、效率和用户体验,确保功能的完整性和可靠性。

    Fortran代码转C代码的工具

    这就引出了我们的主题——“Fortran代码转C代码的工具”。 转换工具通常能够解析Fortran源代码,理解其语法结构,并生成相应的C代码。这个过程并不总是直接对应的,因为两者的语法和语义存在显著差异。例如,...

    文件目录结构转文本网页(把文件列表转成html格式) V4.0绿色版

    "文件目录结构转文本网页 V4.0绿色版"是一个小巧实用的程序,其主要功能是遍历指定的文件夹,收集其中的所有文件和子文件夹信息,并生成对应的HTML代码。程序包含的`getAllPathFile.exe`是执行此转换的核心可执行...

    winform c# pdf文件转换doc文件和 png 图片格式 PDF转word 和图片

    借助第三方Aspose.Pdf.dll及Spire.Pdf.dll 对pdf文件进行处理,可以把pdf文件转换成doc 或者docx png等格式,通过代码大家可以进行自己重新开发,核心代码已经编写完成,下载后可以直接运行进行pdf文件转换 ...

    将PCB的GERBER文件转换成G代码的利器---coppercam软件下载

    将PCB的GERBER文件转换成G代码的利器---coppercam软件下载

    BMP文件转换为JPG文件的源代码

    总的来说,BMP转JPG的源代码示例对于理解图像处理和编程技术非常有价值。它不仅展示了图像格式之间的转换,也体现了VC++在处理这类任务时的灵活性和实用性。在实际开发中,这样的转换功能常用于图片上传、存储和显示...

    android文件的上传和下载+后台完整代码

    - Android提供`DownloadManager`系统服务进行文件下载,它可以处理断点续传和网络中断情况。 - 自定义下载逻辑时,可以使用`AsyncTask`或`Thread`,结合`HttpURLConnection`或`OkHttp`进行网络请求。 - 文件保存...

    WAV转换为C代码的小工具

    标题中的“WAV转换为C代码的小工具”指的是一个实用程序,它能够将WAV音频文件转换成C语言源代码。这种工具对于嵌入式系统开发者尤其有用,因为它们经常需要在有限的内存和处理能力下播放音频。WAV是一种常见的无损...

Global site tag (gtag.js) - Google Analytics