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

 更新时间:2020年11月06日 10:55:08   作者:二十同学  
这篇文章主要介绍了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返回图片的实现的文章就介绍到这了,更多相关SpringBoot @ResponseBody返回图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java lambda表达式用法总结

    java lambda表达式用法总结

    这篇文章主要介绍了java lamda表达式用法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 使用maven构建java9 service实例详解

    使用maven构建java9 service实例详解

    本篇文章主要介绍了使用maven构建java9 service实例详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • TK-MyBatis 分页查询的具体使用

    TK-MyBatis 分页查询的具体使用

    分页查询在很多地方都可以使用到,本文就详细的介绍了一下TK-MyBatis 分页查询的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • java如何将int数组转化为Integer数组

    java如何将int数组转化为Integer数组

    这篇文章主要介绍了java如何将int数组转化为Integer数组,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • SpringMVC 文件上传配置,多文件上传,使用的MultipartFile的实例

    SpringMVC 文件上传配置,多文件上传,使用的MultipartFile的实例

    本篇文章主要介绍了SpringMVC 文件上传配置,详解介绍了如何使用SpringMVC进行表单上的文件上传以及多个文件同时上传的步骤,有兴趣的可以了解一下。
    2016-12-12
  • Java 如何使用Feign发送HTTP请求

    Java 如何使用Feign发送HTTP请求

    这篇文章主要介绍了Java 如何使用Feign发送HTTP请求,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-11-11
  • Java反射机制(Reflection)浅析

    Java反射机制(Reflection)浅析

    这篇文章主要介绍了Java反射机制(Reflection)浅析,本文以实例讲解Java的反射机制,需要的朋友可以参考下
    2014-07-07
  • Eclipse可视化插件WindowBuilder的安装方法

    Eclipse可视化插件WindowBuilder的安装方法

    这篇文章主要介绍了Eclipse可视化插件WindowBuilder的安装方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • mybatis批量新增、删除、查询和修改方式

    mybatis批量新增、删除、查询和修改方式

    这篇文章主要介绍了mybatis批量新增、删除、查询和修改方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Java爬虫(Jsoup与WebDriver)的使用

    Java爬虫(Jsoup与WebDriver)的使用

    这篇文章主要介绍了Java爬虫(Jsoup与WebDriver)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论