• 文件下载


    package com.bjsxt.servlet;
    
    import org.apache.commons.io.IOUtils;
    import sun.nio.ch.IOUtil;
    
    import javax.servlet.ServletException;
    import javax.servlet.ServletOutputStream;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    /**
     * @program: JavaEE
     * @description
     * @author: wuhao
     * @create: 2019-12-16 18:54
     **/
    @WebServlet("/servlet/FileDownServlet")
    public class FileDownServlet extends HttpServlet {
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            //获得服务器文件路径
            String realPath = req.getServletContext().getRealPath("/img");
    
    
            //获得文件名
            String filename = req.getParameter("filename");
    
    
            File file = new File(realPath+"/"+filename);
    
            //读取服务器文件
            FileInputStream fileInputStream = new FileInputStream(file);
    
    
    
            //设置下载文本的长度
            resp.setContentLength((int) file.length());
            // 设置文本的类型
            resp.setContentType(req.getParameter("filetype"));
            // 设置相应头
            resp.setHeader("Content-Disposition", "attachment;filename="+filename);
    
    
            //写出本地
            ServletOutputStream outputStream = resp.getOutputStream();
    
    
             IOUtils.copy(fileInputStream, outputStream);
    
    
             outputStream.close();
             fileInputStream.close();
    
    
        }
    }
    

     

    Content-Disposition属性有两种类型

    1. inline :将文件内容直接显示在页面
    2. attachment:弹出对话框让用户下载
  • 相关阅读:
    客户端组建调用
    串口开发
    C/C++,系统知识考点
    API进程线程函数
    做WEB2.0网站可以参考的十九条规则
    javascript中动态添加事件!!
    常用正则表达式收集!
    CuteChat for Community Server 2.0 beta 3!
    发现一个下载.Text Skin 的好网站.
    如何控制Linux终端打印字符颜色和位置
  • 原文地址:https://www.cnblogs.com/ww103/p/12051505.html
Copyright © 2020-2023  润新知