SpringBoot使用@ResponseBody返回图片[通俗易懂]

SpringBoot使用@ResponseBody返回图片[通俗易懂]以前使用HttpServletResponse可以通过输出流的方式来向前台输出图片。现在大部分都是使用springboot,在使用springboot之后,我们应该如何来修改代码呢?SpringBoot项目搭建配置略过,可直接从官网简历一个demo首先写一个Controller类,包括一个方法,如下:packagecom.example.demo.common;…

大家好,又见面了,我是你们的朋友全栈君。

微信搜索:“二十同学” 公众号,欢迎关注一条不一样的成长之路       

以前使用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返回图片[通俗易懂]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140144.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • AssertValid函数学�

    AssertValid函数学�

  • mysql navicat 15 激活码【2021免费激活】

    (mysql navicat 15 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1S…

  • pycharm安装matplotlib超时_pycharm里为啥运行不了pip

    pycharm安装matplotlib超时_pycharm里为啥运行不了pip第一天:pycharm解决Flask-SQLAlchemy按错出错问题刚开始用博客有点不适应首先,我最开始实在settings中1-4步骤非常简单不做过多说明,步骤4我在这里没有选择,版本问题我一般都不去选,基本上都是使用默认的版本。就这样的设置我前前后后错了不知道多少回,之前这样设置安装,例如:flask等等都成功了。这样安装没错错误提示都是都建议:pipinstall要安装的名…

  • 计算机网络交换机命令汇总,锐捷交换机常用配置命令汇总,收藏备用![通俗易懂]

    计算机网络交换机命令汇总,锐捷交换机常用配置命令汇总,收藏备用![通俗易懂]一、连接及远程登录用一台计算机作为控制台和网络设备相连接,通过计算机对网络设备进行配置。1、硬件连接把Console线一端连接在计算机的串口上,另一端连接在网络设备的Console口上。按照上面的线序制作一根双绞线,一端通过一个转换头连接在计算机的串口上,另一端连接在网络设备的Console口上。2、软件安装在计算机上安装一个终端仿真软件来登录网络设备。“超级终端”安装方法,通常是使用secure…

  • 注册境外邮箱有哪些_腾讯会员邮箱登录

    注册境外邮箱有哪些_腾讯会员邮箱登录TOMVIP邮箱可在客户端绑定,支持多个终端邮件同步。163VIP邮箱超大容量、邮件群发效果好、微信邮件实时提醒,企业版邮箱也可以使用误删恢复功能。

  • linux vim怎么退出编辑模式_shell退出vi编辑器

    linux vim怎么退出编辑模式_shell退出vi编辑器用的命令是:ctrl+Rvi编辑器中有三种状态模式1.命令模式2.输入模式3.末行模式三种模式间的相互转换vi编辑器的启动与退出直接进入编辑环境$vi进入编辑环境并打开(新建)文件$vimyfile退出vi编辑环境输入末行命令放弃对文件的修改,并退出编辑器:q!文件保存与另存为保存文件保存对vi编辑器中已打开文件的修改:w另存为文件将vi编辑器中的内容另存为指定文件名:wmyfile退…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号