日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

springboot传图片到前端之有手就行

發布時間:2024/3/13 HTML 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springboot传图片到前端之有手就行 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

springboot傳圖片到前端之有手就行

其實想要實現springboot傳圖片到前端是一件非常容易實現的,但是網上太多弄得花里胡哨,讓人摸不清頭腦;

實現springboot傳圖片到前端第一步(找圖片)

沒錯,想要實現這個功能,第一步就是找圖片
經過一段緊張的思考,我覺得還是弄點比較 色情 好康 的圖片
并且通過董事會開會決定,咱就通過抓網上的圖片下來實現springboot傳圖片到前端的第一步

就決定是你了
在這里我就不多說怎么通過java獲取網上的圖片了,反正最后的步驟都是一樣的,需要將圖片轉換為byte[]數組

實現springboot傳圖片到前端第二步(把圖片轉為byte[]數組)

用于byte[]數組來實現是最簡單的,所以用byte[]來傳準沒錯

圖片轉byte數組第一步

1、獲取圖片輸入流

InputStream inputStream = HttpUtil.toGet("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3708260731,3754490116&fm=26&gp=0.jpg");

我這里是通過http請求獲取的圖片輸入流,如果你們不需要這樣的話,就算通過本地傳圖片到前端,第一步也是獲取圖片輸入流的

2、輸入流轉byte[]

我這里寫了個方法,如果需要直接復制粘貼進去就行,調用這個方法,就可以得到輸入流的轉的byte[]

public byte[] getBytesByStream(InputStream inputStream){byte[] bytes = new byte[1024];int b;ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();try {while((b = inputStream.read(bytes)) != -1){byteArrayOutputStream.write(bytes,0,b);}return byteArrayOutputStream.toByteArray();} catch (IOException e) {e.printStackTrace();}return null;}

實現springboot傳圖片到前端第三步(定義返回圖片接口方法)

1、在這一步,也就是controller里面的方法,直接定義返回值為ResponseEntity<byte[]>,一定要是這個返回值啊,其他的話,這個方法是不行的

2、定義httpHeaders

在這里如果是操作本地圖片的,需要注意一點,就是你的圖片是什么類型的,下面這個MediaType.IMAGE_PNG就是什么類型的

final HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.IMAGE_PNG);

3、return

這一步就是將前面我們獲取到的byte[]和定義的hettpHeaders一起放到ResponseEntity<byte[]>里面,作為返回值

//第一個參數,就是圖片輸入流轉的byte[],第二個參數就是前面定義的hettpHeaders,第三個就是在什么情況下返回,我這里就是在請求ok的情況下 return new ResponseEntity<>(bytesByStream,headers, HttpStatus.OK);

實現springboot傳圖片到前端第四步(看圖)

直接訪問你的這個端口

源碼

@GetMapping("/qrg1")public ResponseEntity<byte[]> getImg() {//通過自己寫的http工具類獲取到圖片輸入流InputStream inputStream = HttpUtil.toGet("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3708260731,3754490116&fm=26&gp=0.jpg");//將輸入流轉為byte[]byte[] bytesByStream = getBytesByStream(inputStream);final HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.IMAGE_PNG);return new ResponseEntity<>(bytesByStream,headers, HttpStatus.OK);}public byte[] getBytesByStream(InputStream inputStream){byte[] bytes = new byte[1024];int b;ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();try {while((b = inputStream.read(bytes)) != -1){byteArrayOutputStream.write(bytes,0,b);}return byteArrayOutputStream.toByteArray();} catch (IOException e) {e.printStackTrace();}return null;}

總結

以上是生活随笔為你收集整理的springboot传图片到前端之有手就行的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。