自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

圖片存儲(chǔ)和如何返回給前端

存儲(chǔ) 數(shù)據(jù)管理
一般來說,我們圖片存儲(chǔ)都會(huì)存儲(chǔ)在專門的對(duì)象存儲(chǔ)服務(wù)器上。常見的有阿里云oss,七牛云,華為云等等。像這些對(duì)象存儲(chǔ),一般都會(huì)有bucket(桶)的概念,和對(duì)象的概念。

前言:

了不起學(xué)弟:了不起學(xué)長,最近我開發(fā)遇到了關(guān)于存儲(chǔ)圖片和返回給圖片給前端的相關(guān)內(nèi)容,我不太會(huì),可以給我講講嗎?了不起:可以,這塊其實(shí)不難,你學(xué)過幾次就可以了。

正文:

一般來說,我們圖片存儲(chǔ)都會(huì)存儲(chǔ)在專門的對(duì)象存儲(chǔ)服務(wù)器上。常見的有阿里云oss,七牛云,華為云等等。像這些對(duì)象存儲(chǔ),一般都會(huì)有bucket(桶)的概念,和對(duì)象的概念。

你的項(xiàng)目一般都會(huì)有自己的一個(gè)桶,你就可以去桶內(nèi)存儲(chǔ)你要存儲(chǔ)的對(duì)象。桶和對(duì)象都是有自己的權(quán)限,這個(gè)需要你自己通過后臺(tái)或者接口去設(shè)置acl。

對(duì)于前端需要上傳的圖片,我們后端通過MultipartFile 去接受圖片,然后通過阿里云的接口去把圖片上傳就可以了。

同時(shí)要注意,上傳圖片通過我們的接口,我們需要去校驗(yàn)文件的真實(shí)性,大小。如果沒有這層校驗(yàn),不管是從業(yè)務(wù)的角度,還是安全的角度,都是不可取的。

上傳完圖片,我們可以在相應(yīng)的云上獲取到圖片的鏈接。通過這個(gè)鏈接我們就有以下幾種方式去返回給前端了。

第一種:url可以直接返回給前端,讓頁面自己去加載圖片。這種方式是最方便的。

第二種,后端通過url去獲取到圖片,然后通過HttpServletResponse.getOutPutStream ,再OutPutStream.write。

通過輸出流的方式把圖片給前端。這種方式比第一種方式要復(fù)雜一點(diǎn),適合文件下載接口。記得流處理完了要把流關(guān)閉。

第三種方式:一些比較固定的圖片,比如logo,固定的背景。我們?cè)偻ㄟ^url獲取到圖片之后,通過Base64.getEncoder().encodeToString(byte)的方式,把圖片轉(zhuǎn)化成base64返回給前端。

這種方式適合一些固定圖片的場景,不太適合圖片太多的場景,對(duì)于前端來說有過多的base64不太合適。

溫馨提示:對(duì)于一些圖片需要用戶主動(dòng)去上傳,并且會(huì)展示出來的圖片,切記要進(jìn)行第三方的對(duì)圖片的安全檢查。

了不起所在公司的一個(gè)小組,就因?yàn)槌霈F(xiàn)過用戶上傳頭像,頭像非法,然后被公安約談的情況。圖片的不僅僅需要格式校驗(yàn),圖片內(nèi)容也是需要進(jìn)行安全校驗(yàn)的。

講到這里大家也就明白了,圖片上傳的前后邏輯。對(duì)于圖片上傳,大家了解了,其他的文件也是同樣的道理,圖片,文件,視頻等等都是一樣的。

對(duì)于一些大一點(diǎn)的視頻圖片,可能也會(huì)涉及到分段上傳,云都會(huì)有相應(yīng)的api提供給大家。

責(zé)任編輯:武曉燕 來源: Java面試教程
相關(guān)推薦

2023-02-03 10:08:13

前端存儲(chǔ)庫存儲(chǔ)配額

2021-11-29 08:50:57

Javascript存儲(chǔ)函數(shù)

2010-05-07 13:03:01

Oracle通過存儲(chǔ)過

2013-04-16 09:30:09

前端開發(fā)Web網(wǎng)頁設(shè)計(jì)

2009-09-09 10:54:52

Linq存儲(chǔ)過程返回

2023-06-01 07:36:11

后端前端Java

2009-09-17 10:27:55

linq存儲(chǔ)過程

2014-01-07 09:15:24

云集成云存儲(chǔ)RESTful

2024-03-11 08:27:43

前端圖片格式

2024-08-01 08:37:46

vue圖片性能

2021-07-05 14:55:28

前端優(yōu)化圖片

2009-03-05 17:52:36

虛擬化存儲(chǔ)虛擬機(jī)

2021-04-18 18:38:41

數(shù)據(jù)存儲(chǔ)存儲(chǔ)數(shù)據(jù)

2019-02-01 15:05:08

前端ReactAngular

2010-03-30 13:30:49

Oracle存儲(chǔ)

2011-07-19 17:33:53

存儲(chǔ)過程javaibatis

2018-08-14 10:31:18

私有云存儲(chǔ)公有云

2009-04-03 17:24:54

虛擬化存儲(chǔ)服務(wù)器

2024-08-29 08:23:22

EasyOCRSpring文字識(shí)別

2020-06-17 07:56:19

前端存儲(chǔ)數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)