java 接口返回图片_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会报错。

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

83ad7f47f53cf573d7d2d0916ef552a6.png

到此这篇关于springboot使用@responsebody返回图片的实现的文章就介绍到这了,更多相关springboot @responsebody返回图片内容请搜索萬仟网以前的文章或继续浏览下面的相关文章希望大家以后多多支持萬仟网!

希望与广大网友互动??

点此进行留言吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值