SpringBoot使用@ResponseBody返回圖片的實現(xiàn)
以前使用HttpServletResponse可以通過輸出流的方式來向前臺輸出圖片。現(xiàn)在大部分都是使用springboot,在使用springboot之后,我們應(yīng)該如何來修改代碼呢?
Spring Boot項目搭建配置略過,可直接從官網(wǎng)簡歷一個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會報錯。
瀏覽器訪問接口測試一下,返回如下:

到此這篇關(guān)于SpringBoot使用@ResponseBody返回圖片的實現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot @ResponseBody返回圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用ByteArrayOutputStream寫入字符串方式
這篇文章主要介紹了使用ByteArrayOutputStream寫入字符串方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
java代碼塊之簡易qq登錄界面及按鈕顏色設(shè)置代碼
這篇文章主要介紹了java代碼塊之簡易qq登錄界面及按鈕顏色設(shè)置代碼,具有一定參考價值,需要的朋友可以了解下。2017-11-11

