zoukankan      html  css  js  c++  java
  • 文件下载(使用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;
            
        }
    
    }
  • 相关阅读:
    JavaScript学习笔记--this全面解析
    CSS3学习笔记--animation和transition
    HTML5学习笔记--HTML5新增的常用标签
    布局学习笔记--flex布局
    布局学习笔记--rem布局
    HTML5学习笔记--Canvas
    react-pdf插件实现pdf预览功能
    postman基础使用——调试接口
    react 实现复制copy文本内容
    react 移动端签名实现
  • 原文地址:https://www.cnblogs.com/lsk-130602/p/12239046.html
Copyright © 2011-2022 走看看