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;
            
        }
    
    }
  • 相关阅读:
    Win10怎么默认用Windows照片查看程序打开图片
    Class类文件结构——访问标志
    栈的压入弹出序列
    Java中length,length()以及size()的区别
    包含min函数的栈
    extends和implements的区别
    顺时针打印矩阵
    二叉树的镜像
    Class类文件结构解读——常量池
    进制、字(word)、字节(byte)、位(bit)的关系
  • 原文地址:https://www.cnblogs.com/lsk-130602/p/12239046.html
Copyright © 2011-2022 走看看