SpringBoot使用@ResponseBody返回圖片的實(shí)現(xiàn)
以前使用HttpServletResponse可以通過輸出流的方式來向前臺輸出圖片?,F(xiàn)在大部分都是使用springboot,在使用springboot之后,我們應(yīng)該如何來修改代碼呢?
Spring Boot項(xiàng)目搭建配置略過,可直接從官網(wǎng)簡歷一個(gè)demo
首先寫一個(gè)Controller類,包括一個(gè)方法,如下:
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是一個(gè)圖片(image/jpeg),然后加上@ResponseBody注解,方法返回byte[],然后將圖片讀進(jìn)byte[],不加produces會報(bào)錯(cuò)。
瀏覽器訪問接口測試一下,返回如下:

到此這篇關(guān)于SpringBoot使用@ResponseBody返回圖片的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot @ResponseBody返回圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot整合mybatis(一)實(shí)例代碼
sprig-boot是一個(gè)微服務(wù)架構(gòu),加快了spring工程快速開發(fā),以及簡便了配置。接下來開始spring-boot與mybatis的整合2017-07-07
使用ByteArrayOutputStream寫入字符串方式
這篇文章主要介紹了使用ByteArrayOutputStream寫入字符串方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
java代碼塊之簡易qq登錄界面及按鈕顏色設(shè)置代碼
這篇文章主要介紹了java代碼塊之簡易qq登錄界面及按鈕顏色設(shè)置代碼,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
Java經(jīng)典排序算法之冒泡排序代碼實(shí)例
這篇文章主要介紹了Java經(jīng)典排序算法之冒泡排序代碼實(shí)例,相鄰兩元素進(jìn)行比較,如過左側(cè)元素大于右側(cè)元素,則進(jìn)行交換,每完成一次循環(huán)就將最大元素排在最后,下一次循環(huán)是將其它的數(shù)進(jìn)行類似操作,需要的朋友可以參考下2023-11-11

