zoukankan      html  css  js  c++  java
  • java 下载web项目目录下的文件

    1 前台传个文件的名称到后台 

    serivce 传值:<a href="<%=path%>/servletDownload?fileName="XXXXXXXX.dooc">

    web.XML 设置:

    ServletDownload 类中:

    package com.ving.xzsp.touch.selfServ;

    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.URLDecoder;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    public class ServletDownload extends HttpServlet{

    private static final long serialVersionUID = 1L;
    public ServletDownload() {
    super();
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");//解决中文乱码
    String fileName= request.getParameter("fileName");
    //设置文件MIME类型
    response.setContentType(getServletContext().getMimeType(fileName));
    //设置Content-Disposition
    response.addHeader("Content-Disposition","attachment;fileName="+URLDecoder.decode("Help.doc","UTF-8"));

    //读取目标文件,通过response将目标文件写到客户端
    //获取目标文件的绝对路径
    String fullFileName = getServletContext().getRealPath("/download/" + fileName);
    InputStream in = new FileInputStream(fullFileName);
    OutputStream out = response.getOutputStream();

    //写文件
    int b;
    while((b=in.read())!= -1)
    {
    out.write(b);
    }

    in.close();
    out.close();
    }
    }

  • 相关阅读:
    java过滤器 Fliter
    input标签name、value与id属性
    python 简单的数据库操作之转账
    正则表达式基本语法
    适合新手的Python爬虫小程序
    如何使用EditPlus将json格式字符串默认为UTF-8格式
    codeforces 527C:STL set
    codeforces 527B:瞎搞
    HDU 3397 线段树
    HDU 3436:splay tree
  • 原文地址:https://www.cnblogs.com/yishang/p/5820978.html
Copyright © 2011-2022 走看看