• 文件下载(使用springmvc框架中ResponseEntity对象)


    package com.atguigu.test;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStream;
    
    import javax.servlet.http.HttpSession;
    
    import org.springframework.http.HttpHeaders;
    import org.springframework.http.HttpStatus;
    import org.springframework.http.ResponseEntity;
    import org.springframework.stereotype.Controller;
    import org.springframework.util.MultiValueMap;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    public class UploadAndDown {
        @RequestMapping("/down")
        public ResponseEntity<byte[]> down(HttpSession session) throws Exception{
            //获取下载文件的路径 (获取tomcat服务器的位置)
            String realPath = session.getServletContext().getRealPath("img");
            String finalPath = realPath+ File.separator +"1.jpg";
            //创建字节输入流
            InputStream in = new FileInputStream(finalPath);
            //available():获取输入流所读取的文件的最大字节数
            byte[] body = new byte[in.available()];
            //把字节读取到数组中
            in.read(body);
            //设置请求头
            MultiValueMap<String, String> headers = new HttpHeaders();
            headers.add("Content-Disposition", "attachment;filename=aaa.jpg");
            //设置响应状态
            HttpStatus statusCode = HttpStatus.OK;
            in.close();
    
            
            ResponseEntity<byte[]> entity = new ResponseEntity<byte[]>(body, headers, statusCode);
            return entity;
            
        }
    
    }
  • 相关阅读:
    如何用tar和gpg创建压缩加密的档案文件
    如何用Virt-rescue拯救虚拟机?
    如何在Linux中使用命令管理已安装的软件包?
    leetcode TOP100 字母异位词分组
    剑指offer 1-5
    XCTF(MISC) 坚持60s
    XCTF(MISC) give_you_flag
    XCTF MISC 如来十三掌
    XCTF(MISC) 图片隐写
    XCTF csaw2013reversing2
  • 原文地址:https://www.cnblogs.com/lsk-130602/p/12239046.html
Copyright © 2020-2023  润新知