软件编程
位置:首页>> 软件编程>> java编程>> SpringBoot使用@ResponseBody返回图片的实现

SpringBoot使用@ResponseBody返回图片的实现

作者:二十同学  发布时间:2023-11-28 04:41:24 

标签:SpringBoot,@ResponseBody,返回图片

以前使用HttpServletResponse可以通过输出流的方式来向前台输出图片。现在大部分都是使用springboot,在使用springboot之后,我们应该如何来修改代码呢?

Spring Boot项目搭建配置略过,可直接从官网简历一个demo

首先写一个Controller类,包括一个方法,如下:


package com.example.demo.common;

import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.io.File;
import java.io.FileInputStream;

@RestController
@RequestMapping(value="/api/v1")
public class ImageTest {

@GetMapping(value = "/image",produces = MediaType.IMAGE_JPEG_VALUE)
 @ResponseBody
 public byte[] test() throws Exception {

File file = new File("E:\\ce\\1.jpg");
   FileInputStream inputStream = new FileInputStream(file);
   byte[] bytes = new byte[inputStream.available()];
   inputStream.read(bytes, 0, inputStream.available());
   return bytes;

}

}

我们首先在@GetMapping上加入produces告诉Spring,我们要返回的MediaType是一个图片(image/jpeg),然后加上@ResponseBody注解,方法返回byte[],然后将图片读进byte[],不加produces会报错

浏览器访问接口测试一下,返回如下:

SpringBoot使用@ResponseBody返回图片的实现

来源:https://blog.csdn.net/qq_18298439/article/details/89315478

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com