注册 登录
编程论坛 JAVA论坛

springmvc 测试 ResponseEntity byte[] 下载图片浏览器段乱码,求解,谢谢。

smokedog 发布于 2020-02-19 17:06, 1599 次点击
代码如下:问题是浏览器端乱码,但是sts内置的正常。
@RequestMapping(value = "/download")
        public ResponseEntity<byte []> testDownload(HttpSession session) throws Exception {
            //将要下载的文件读取成一个字节数据
            byte [] imgs;
            
            ServletContext sc = session.getServletContext();
            
            InputStream in = sc.getResourceAsStream("/images/img.jpg");
            
            imgs = new byte[in.available()];
            
            in.read(imgs);
            
            //将相应数据,以及一些响应头信息风住哪个到ResponseEntity中。
            /**
             * 参数:
             *     1.发送给浏览器的数据
             *     2.设置响应头
             *     3.设置响应码
             */
            HttpHeaders headers = new HttpHeaders();
            headers.add("Content-Dispostion", "attachment;filename=img.jpg");
            
            HttpStatus statusCode = HttpStatus.OK; //200
            ResponseEntity<byte[]> re = new ResponseEntity<byte[]>(imgs,headers,statusCode);
            
            return re;
        }
2 回复
#2
林月儿2020-02-19 20:09
前台接口怎么写的
#3
smokedog2020-02-19 21:27
回复 2楼 林月儿
只写了一个超链接:<a href="download">图片下载</a>
1