zoukankan      html  css  js  c++  java
  • 文件下载

    文件下载

    Jsp:

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>download</title>
    </head>
    <body>
        <a href="/DownLoadServlet?name=test">test.jpg</a>
        <a href="/DownLoadServlet?name=ceshi">ceshi.txt</a>
    
    </body>
    </html>
    

    Servlet:

    package com.wildfire.servlet.upload;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    
    @WebServlet("/DownLoadServlet")
    public class DownLoadServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            String name=req.getParameter("name");
            String fileName="";
            switch (name){
                case "test":
                    fileName="test.jpg";
                    break;
                case "ceshi":
                    fileName="ceshi.txt";
                    break;
            }
    
            //设置响应模式
            resp.setContentType("application/x-msdownload");
            //设置下载之后的文件名
            resp.setHeader("Content-Disposition","attachment;filename="+fileName);
            //获取输出流
            OutputStream outputStream=resp.getOutputStream();
            String path=req.getServletContext().getRealPath("file/"+fileName);
            InputStream inputStream=new FileInputStream(path);
            int temp=0;
            while((temp=inputStream.read())!=-1){
                outputStream.write(temp);
            }
            //关闭输入输出流
            inputStream.close();
            outputStream.close();
        }
    }
    

    使用IDEA的时候要注意,在WEB-INF下创建file目录,将图片和文件粘贴到该目录下,然后使用工具栏Build--》Rebuild Project,否则可能无法同步到out下。

  • 相关阅读:
    spring+hibernate常见异常集合
    Java报错原因汇总
    java常见异常集锦
    连接池 druid(阿里巴巴的框架)
    企业支付宝账号开发接口实现
    Maven使用常见问题整理
    MySQL的分页
    Struts2中通配符的使用
    Centos下安装mysql 总结
    将linux用在开发环境中
  • 原文地址:https://www.cnblogs.com/wind-and-sky/p/13986982.html
Copyright © 2011-2022 走看看