欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java?http請(qǐng)求獲取圖片并返回文件流給前端的方法步驟

 更新時(shí)間:2024年09月13日 11:28:11   作者:洛可可Blue  
作為一名Java后端開(kāi)發(fā)者,掌握如何從后端返回文件流至前端是基本技能之一,這篇文章主要介紹了java?http請(qǐng)求獲取圖片并返回文件流給前端的方法步驟,需要的朋友可以參考下

需求 :

在Spring Boot項(xiàng)目中實(shí)現(xiàn)獲取外部HTTP地址的圖片,并返回文件流給前端

一:依賴(lài)

<!--web 模塊-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

二:配置類(lèi)

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

@Configuration
public class RestTemplateConfig {
    @Bean(name = "restTemplateJQSJ")
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
}

三:服務(wù)實(shí)現(xiàn)類(lèi)

import org.springframework.http.*;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.*;

import javax.servlet.http.HttpServletResponse;
import java.io.*;

@RestController
@RequestMapping("/api")
public class ImageController {

    @Autowired
    @Qualifier("restTemplateJQSJ")
    private RestTemplate restTemplate;

    @GetMapping("/image")
    public void getImage(HttpServletResponse response) throws IOException {
        String imageUrl = "http://獲取圖片的地址";

        // 設(shè)置HTTP頭部信息
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.IMAGE_JPEG); // 假設(shè)圖片類(lèi)型為JPEG,根據(jù)實(shí)際情況調(diào)整

        // 發(fā)送HTTP請(qǐng)求獲取圖片數(shù)據(jù)流
        ResponseEntity<byte[]> imageResponse = restTemplate.exchange(imageUrl, HttpMethod.GET, new HttpEntity<>(headers), byte[].class);

        // 將圖片數(shù)據(jù)流寫(xiě)入響應(yīng)輸出流
        if (imageResponse.getStatusCode() == HttpStatus.OK && imageResponse.getBody() != null) {
            response.setContentType(MediaType.IMAGE_JPEG_VALUE); // 設(shè)置響應(yīng)內(nèi)容類(lèi)型
            response.getOutputStream().write(imageResponse.getBody()); // 將圖片數(shù)據(jù)寫(xiě)入響應(yīng)輸出流
        } else {
            response.setStatus(HttpStatus.NOT_FOUND.value()); // 處理請(qǐng)求失敗的情況
        }
    }
}

可以用Postman測(cè)試一下效果:

總結(jié) 

到此這篇關(guān)于java http請(qǐng)求獲取圖片并返回文件流給前端的文章就介紹到這了,更多相關(guān)java http請(qǐng)求獲取圖片返回文件流內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java Collection和Collections的區(qū)別

    Java Collection和Collections的區(qū)別

    本文主要介紹了Java Collection和Collections的區(qū)別,Collection?是表示集合的接口,而?Collections?是對(duì)集合進(jìn)行操作的工具類(lèi),下面就來(lái)介紹一下具體用法,感興趣的可以了解一下
    2023-12-12
  • mybatis打印SQL,并顯示參數(shù)的實(shí)例

    mybatis打印SQL,并顯示參數(shù)的實(shí)例

    這篇文章主要介紹了mybatis打印SQL,并顯示參數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • java讀取zip/jar包中文件的幾種方式

    java讀取zip/jar包中文件的幾種方式

    這篇文章主要給大家介紹了關(guān)于java讀取zip/jar包中文件的幾種方式,在我們?nèi)粘J褂弥袎嚎s文件是非常常用的,文中通過(guò)示例代碼將java讀取zip/jar包中文件的方法介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • Java給實(shí)體每一個(gè)字段賦默認(rèn)值詳細(xì)代碼示例

    Java給實(shí)體每一個(gè)字段賦默認(rèn)值詳細(xì)代碼示例

    這篇文章主要給大家介紹了關(guān)于Java給實(shí)體每一個(gè)字段賦默認(rèn)值的相關(guān)資料,在編程過(guò)程中有時(shí)會(huì)出現(xiàn)這樣一種情況,在查詢(xún)無(wú)結(jié)果時(shí)我們需要給實(shí)體賦默認(rèn)值,需要的朋友可以參考下
    2023-09-09
  • java分布式流式處理組件Producer分區(qū)理論

    java分布式流式處理組件Producer分區(qū)理論

    這篇文章主要為大家介紹了java分布式流式處理組件Producer分區(qū)理論詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Spring?Boot?2.6.x整合Swagger啟動(dòng)失敗報(bào)錯(cuò)問(wèn)題的完美解決辦法

    Spring?Boot?2.6.x整合Swagger啟動(dòng)失敗報(bào)錯(cuò)問(wèn)題的完美解決辦法

    這篇文章主要給大家介紹了關(guān)于Spring?Boot?2.6.x整合Swagger啟動(dòng)失敗報(bào)錯(cuò)問(wèn)題的完美解決辦法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Java操作XML工具類(lèi)XmlUtil詳解

    Java操作XML工具類(lèi)XmlUtil詳解

    這篇文章主要為大家詳細(xì)介紹了Java操作XML工具類(lèi)XmlUtil的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 一篇文章帶你入門(mén)java變量與類(lèi)型

    一篇文章帶你入門(mén)java變量與類(lèi)型

    這篇文章主要給大家介紹了關(guān)于Java基本知識(shí)點(diǎn)之變量和數(shù)據(jù)類(lèi)型的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • Java IO流對(duì)象的序列化和反序列化實(shí)例詳解

    Java IO流對(duì)象的序列化和反序列化實(shí)例詳解

    這篇文章主要介紹了Java IO流對(duì)象的序列化和反序列化實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 使用Springboot+poi上傳并處理百萬(wàn)級(jí)數(shù)據(jù)EXCEL

    使用Springboot+poi上傳并處理百萬(wàn)級(jí)數(shù)據(jù)EXCEL

    這篇文章主要介紹了使用Springboot+poi上傳并處理百萬(wàn)級(jí)數(shù)據(jù)EXCEL,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12

最新評(píng)論