Golang Base64 图片保存到本地目录并设置随机文件名
以下是一个示例代码,用于将 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/base64和io/ioutil包。 - 为了生成随机文件名,我们使用了 Go 标准库中的
math/rand和time包。 - 我们将图片保存在本地的
./images目录下,需要确保该目录已经存在。 0644是一个 Unix 文件权限,它表示用户可读写、其他用户只读的文件权限。如果你不熟悉 Unix 文件权限,可以先简单理解为一个数字即可。
原文地址: https://www.cveoy.top/t/topic/lHV3 著作权归作者所有。请勿转载和采集!