使用Servlet实现下载文件的功能

使用Servlet实现下载文件的功能

在前台有一个下载链接,比如

 

<a href="DownLoadServlet">下载</a> <br/>  

 

使用Servlet实现下载:

 

 

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.URLEncoder;  

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;  

public class DownLoadServlet extends HttpServlet {  

    public DownLoadServlet() {
        super();
    }  

    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }  

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request,response);
    }  

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //处理请求
        //读取要下载的文件
        File f = new File("E:/好久不见.mp3");
        if(f.exists()){
            FileInputStream  fis = new FileInputStream(f);
            String filename=URLEncoder.encode(f.getName(),"utf-8"); //解决中文文件名下载后乱码的问题
            byte[] b = new byte[fis.available()];
            fis.read(b);
            response.setCharacterEncoding("utf-8");
            response.setHeader("Content-Disposition","attachment; filename="+filename+"");
            //获取响应报文输出流对象
            ServletOutputStream  out =response.getOutputStream();
            //输出
            out.write(b);
            out.flush();
            out.close();
        }     

    }  

    /**
     * Initialization of the servlet. <br>
     *
     * @throws ServletException if an error occurs
     */
    public void init() throws ServletException {
        // Put your code here
    }  

}  

 

 

 

配置文件注意路径。。。

时间: 2024-11-16 03:14:57

使用Servlet实现下载文件的功能的相关文章

Servlet下载文件文件名问题

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

JSP点击链接后下载文件(右键另存)功能

JSP点击链接后下载文件(右键另存)功能 /** *//**      * 实现文件另存功能      *      * @param text      *            文件内容      * @param fileName      *            文件名称      * @return      */     protected String renderFile(String text, String fileName)             throws IOEx

Silverlight实现下载文件功能

最近一直在做Siverlight的有关的项目,今天做了一个下载功能,也是经过 网上找的各种办法才得到以下的结果,我来总结一下.如果哪有不对的或者哪块 有错误的还请各位进行指出来!谢谢! 在sl中的下载,我认为很难做到像c#中的下载.可以弹出一个对话框进行保 存或者另存为的样子. 下面是通过:WebClientDownHandler文件进行的! using System; using System.Collections.Generic; using System.Linq; using Syst

Win8系统IE浏览器”下载管理器”功能出现故障无法下载文件怎么办

  具体方法如下: 1.确保当前计算机已正确并正常连接到网络; 2.使用磁盘清理工具.CCleaner 或浏览器内置的功能清理 IE 临时文件.Cookies 和历史记录等,并在清理完成后重启计算机; 3.设置新的下载文件存放路径看看是否可行; 4.尝试禁用下载管理器; 5.如果确定下载的文件是安全的,可以尝试禁用防火墙或杀毒软件; 6.确定浏览器允许进行下载; 7.如果通过以上方法都不能解决,建议安装第三方下载工具尝试下载.

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

Android实现下载文件功能的方法_Android

本文所述为Android实现下载文件功能的完整示例代码,对于学习和研究android编程相信会有一定的帮助,尤其是对Android初学者有一定的借鉴价值. 完整功能代码如下: package com.test; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import and

c# .net中下载文件及图片文件的防盗链功能实现方法

在c#.net中可以利用app_data文件夹来实现下载文件及图片文件的防盗链功能. 原理一:在asp教程.net中app_data文件夹包含应用程序的本地数据存储.它通常以文件(诸如microsoft access或microsoft sql server express数据库教程.xml文件.文本文件以及应用程序支持的任何其他文件)形式包含数据存储.该文件夹内容不由asp.net教程处理,也就是说浏览者无法直接访问此文件夹,因此我们可以利用这一权限特性来实现防盗链. 原理二:对来访请求地址进

Android实现下载文件功能的方法

本文所述为Android实现下载文件功能的完整示例代码,对于学习和研究android编程相信会有一定的帮助,尤其是对Android初学者有一定的借鉴价值. 完整功能代码如下: package com.test; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import and