Sobes.tech
Senior

PostgreSQL-də şəkil necə saxlanılır — bu kodlaşdırma və ya rəqəmlər toplusudur? Şəkli mətndə necə saxlamaq olar?

sobes.tech Süni İntellekt

AI-dan cavab

PostgreSQL-də, şəkil adətən bytea növündə sahədə və ya böyük obyekt (LOB) kimi saxlanılır. Bu, ənənəvi mənada kodlaşdırma deyil, sadəcə faylın məzmununu təmsil edən baytlar ardıcıllığıdır.

Şəkili mətn kimi saxlamaq üçün, onu Base64-ə kodlaya bilərsiniz — bu, ikili məlumatları ASCII sətirinə çevirir və mətn sahəsində saxlamaq mümkündür. Ancaq bu üsul məlumatların ölçüsünü təxminən 33% artırır.

Go dilində Base64 ilə şəkil saxlama nümunəsi:

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)
}

Verilənlər bazasında, bu sətir text və ya varchar tipli sahədə saxlanıla bilər. Əgər lazım olsa, yenidən ikili formata dekodlaşdırıla bilər.