Senior
Kako se u PostgreSQL čuva slika — da li je to neka kodacija ili skup brojeva? Kako sačuvati sliku u obliku teksta?
sobes.tech АИ
Одговор од АИ
U PostgreSQL, slika se obično čuva u binarnom obliku u polju tipa bytea ili u velikom objektu (LOB). To nije kodiranje u uobičajenom smislu, već jednostavno niz bajtova koji predstavljaju sadržaj fajla.
Da biste sačuvali sliku kao tekst, možete je kodirati u Base64, što pretvara binarne podatke u ASCII niz koji se može sačuvati u tekstualnom polju. Međutim, ovaj metod povećava veličinu podataka za otprilike 33%.
Primer čuvanja slike u Base64 u Go:
import (
"encoding/base64"
"io/ioutil"
"log"
)
func encodeImageToBase64(path string) string {
data, err := ioutil.ReadFile(path)
if err != nil {
log.Fatal(err)
}
return base64.StdEncoding.EncodeToString(data)
}
U bazi podataka, ovaj niz se može sačuvati u polju tipa text ili varchar. Ako je potrebno, može se dekodirati nazad u binarni format.