Tukar imej gif kepada base64 dalam GO

WBOY
Lepaskan: 2024-02-09 14:54:08
ke hadapan
1008 orang telah melayarinya

Tukar imej gif kepada base64 dalam GO

Dalam bahasa GO, menukar imej GIF kepada pengekodan Base64 ialah operasi biasa. Dengan menukar data imej kepada pengekodan Base64, kami boleh membenamkan imej dengan mudah dalam halaman web atau menghantar data imej dalam bentuk rentetan. Dalam bahasa GO, anda boleh menggunakan fungsi dalam pakej pengekodan/base64 untuk mencapai penukaran ini. Penukaran ini sangat mudah dan boleh dilakukan dengan hanya beberapa baris kod. Di bawah, saya akan memperkenalkan kepada anda cara menukar imej GIF kepada pengekodan Base64 dalam bahasa GO.

Kandungan soalan

Saya cuba menghantar fail gif melalui udp in go, saya fikir cara paling mudah ialah menukar imej gif kepada rentetan base64 dan menghantarnya, tetapi apabila saya menukar bait fail kepada base64 ia mengembalikan kosong rentetan, saya telah mencuba modul "chilkat" menggunakan kod berikut:

bd := chilkat.NewBinData()
success := bd.LoadFile(path.Join(folderPath, "final.gif"))
if success != true {
    panic("Fail!")
    bd.DisposeBinData()
    return
}
b64Data := *bd.GetEncoded("base64")
Salin selepas log masuk

Tetapi ia tidak berkesan, jika sesiapa boleh membantu saya

Penyelesaian

Penyelesaian saya ialah:

var buff bytes.buffer
gif.encodeall(&buff, &anim)
based := base64.stdencoding.encodetostring(buff.bytes())
Salin selepas log masuk

Tetapi rentetan base64 jelas terlalu panjang untuk dihantar dalam udp, Jadi penyelesaian untuk penghantaran yang betul adalah ini:

encoded := recordScreenToGIF(seconds) // Record X seconds of screen, & convert the result into a base64 GIF
splited := SplitSubN(encoded, 10000) // Split "encoded" each 10K characters
conn.Write([]byte(strconv.Itoa(len(splited))))
for _, elm := range splited {
    _, err = conn.Write([]byte(elm))
    if err != nil {
        panic(err)
    }
    time.Sleep(50 * time.Millisecond)
}
conn.Write([]byte("Done"))
Salin selepas log masuk

Atas ialah kandungan terperinci Tukar imej gif kepada base64 dalam GO. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan