以下是一个示例代码,用于将 base64 编码的图片保存到本地目录,并为它设置一个随机文件名:

package main

import (
    "encoding/base64"
    "io/ioutil"
    "math/rand"
    "os"
    "strconv"
    "time"
)

func main() {
    // 假设这是从某个 API 获取的 base64 编码的图片数据
    base64Data := 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/...' // 这里省略了 base64 编码的图片数据

    // 解码 base64 数据
    decoded, err := base64.StdEncoding.DecodeString(base64Data)
    if err != nil {
        panic(err)
    }

    // 生成随机文件名
    rand.Seed(time.Now().UnixNano())
    filename := 'img_' + strconv.Itoa(rand.Intn(1000)) + '.jpg'

    // 将文件写入本地
    err = ioutil.WriteFile('./images/' + filename, decoded, 0644)
    if err != nil {
        panic(err)
    }

    // 输出保存的文件名
    println('Image saved as: ', filename)
}

注意事项:

  • 这个示例代码使用了 Go 标准库中的 encoding/base64io/ioutil 包。
  • 为了生成随机文件名,我们使用了 Go 标准库中的 math/randtime 包。
  • 我们将图片保存在本地的 ./images 目录下,需要确保该目录已经存在。
  • 0644 是一个 Unix 文件权限,它表示用户可读写、其他用户只读的文件权限。如果你不熟悉 Unix 文件权限,可以先简单理解为一个数字即可。
Golang Base64 图片保存到本地目录并设置随机文件名

原文地址: https://www.cveoy.top/t/topic/lHV3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录