下载文件的servlet(很简单的)

servlet|下载

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class  Download extends HttpServlet
{
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    {
        try
        {
            //这里你可以做些其他的事情

            response.setContentType("application/octet-stream");
            response.setHeader("Content-Disposition", "attachment; filename=\"你要在保存窗口中显示的保存文件名\"");
                
            ServletOutputStream out = response.getOutputStream();
            BufferedReader br=new BufferedReader(new FileReader(要下载的的文件名));
            
            String line=br.readLine();
            while (line!=null)
            {
                out.write(line.getBytes());
                out.println();
                line=br.readLine();
            }
            out.close();
            br.close();
        }
        catch (Exception e)
        {
            System.out.println(e);
        }
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    {
        doGet(request, response);
    }
}
就是这么简单

版主提示:
这里的代码在做二进制文件下载的时候会有问题,因为这里使用到了BufferedReader,而这个类是为读“字符”而准备,需要按“字节”来读的时候,请使用InputStream来做。 

时间: 2024-08-23 14:23:10

下载文件的servlet(很简单的)的相关文章

Android中调用系统的文件浏览器及自制简单的文件浏览器_Android

调用系统自带的文件浏览器这很简单: /** 调用文件选择软件来选择文件 **/ private void showFileChooser() { intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*"); intent.addCategory(Intent.CATEGORY_OPENABLE); try { startActivityForResult(Intent.createChooser(inten

eMule如何保存损坏的下载文件

  在更改或修复文件之前,务必始终记得备份! 出于各种各样的原因,总会遇到下载文件损坏的情况,可能需要下载SF-IOM mod才能按照本指南完成相应的工作.下载此mod的压缩包,并将其解压放到硬盘上的某个位置. 修复文件链接 可以从download.txt文件中找到所有当前下载文件的ed2k链接,download.txt文件位于eMule的安装目录下,务必选择正确的链接. 重新生成.met文件 在SF-IOM中使用刚才的链接启动下载任务.,加下载任务后应当立即将任务暂停,因为肯定不会真的要重新下

Ajax请求二进制流进行处理(ajax异步下载文件)的简单方法

摘要: ajax请求一个二进制流(文件),转换为Blob进行处理或者下载保存文件 需求 管理后台需要随时下载数据报表,数据要实时生成后转换为excel下载. 文件不大,页面放置"导出"按钮,点击按钮后弹出保存文件对话框保存 说明:第一种方法使用a标签直接可以满足大部分人需求,第二种方法纯粹是在说实现方法以及更好的操作体验,不需要(举一个需要第二种方法的例子:如果生成很慢就需要生成过程中禁用按钮,防止连续生成)用到的可以不用看 解决方案 方法一 请求文件的接口能改为GET则可以使用这种方

Servlet下载文件文件名问题

问题描述 Servlet下载文件文件名问题 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { FileDBO fileDBO = new FileDBO(); String fileID = request.getParameter("fileId"); FileInfor file = fileDBO

python实现的简单FTP上传下载文件实例

  本文实例讲述了python实现的简单FTP上传下载文件的方法.分享给大家供大家参考.具体如下: python本身自带一个FTP模块,可以实现上传下载的函数功能. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 #!/usr/bin/env python # -*- coding: utf-8

win7系统在百度云盘下载文件速度很慢怎么提升下载速度?

  win7系统在百度云盘下载文件速度很慢怎么提升下载速度? 1.我们可以使用360安全(急速)浏览器.百度.搜狗等等的浏览器,并切换到极速模式(高速模式)下,谷歌浏览器无需切换,直接打开即可; 360浏览器切换高速模式: 2.百度浏览器切换高速模式: 切换方法几乎都是一样的,点击地址栏下拉菜单按钮边上的"雷电"标志即可切换; 3.在高速模式下的浏览器中打开百度云盘下载地址,地址前添加 https:// (不包含空格)然后按下回车键访问,点击下载按钮,我们就可以发现直接可以使用迅雷下载

Servlet中的上传下载文件

一.文件上传 文件的上传也是基于表单来完成的,表单中的file元素可以自动生成一个文本框和一个按钮,文本框可以输入本地文件名或路径,点击按钮则可以打开一个文件选择框让用户选中本地文件.需要注意的是在文件上传时还必须设置表单的enctype属性,并将它的值设置为multipart/form-data. upload.jsp   <FORM METHOD="POST" ENCTYPE="multipart/form-data"    ACTION="Sm

Servlet 下载文件

项目中使用struts2 下载文件,使用手机浏览器有问题,老是报 Java.lang.IllegalStateException: Cannot call sendError() after the response has been committed 没办法了,就使用servlet下载apk文件. servlet类如下: Java代码   package com.shop.jn.web.servlet;      import java.io.File;   import java.io.I

用火狐下载文件出现很诡异的问题

问题描述 用火狐下载文件出现很诡异的问题 在csdn上下载文件 文件后缀名总是自动多出一个'_' 更奇怪的是 下载下来会有两个同名文件 其中一个是空文件 删除空文件后缀名还会报错 说此文件不在这个路径下 无法执行删除操作 不知道这个是怎么了 就是在csdn上下载东西会出现这个问题 解决方案 这个我也遇到过,你下载完后,对文件夹重新命名,把最后字符下划线去掉,不影响你对rar文件的使用.谢谢 解决方案二: 删除空文件没有作用 说找不到这个文件的位置 解决方案三: 这是火狐浏览器的问题,应该是在下载