gpt4 book ai didi

file - Base64 字符串解码并保存为文件

转载 作者:IT王子 更新时间:2023-10-29 01:49:14 27 4
gpt4 key购买 nike

这一直困扰着我,我希望有人能提供帮助。如果这是一个愚蠢的问题,请原谅我,因为我是 Go 的新手。

我有一个包含 base64 的结构。结构看起来像这样:

 type UploadedFile struct {
PartnerId string
FileName string
UploadDateTime string
FileChecksum string
FileBase64 string
}

我想获取那个 base64 字符串,对其进行解码然后保存,听起来很简单,而且可能确实如此,但我很震惊。

代码如下所示:

decoder := json.NewDecoder(r.Body)
uploadedFile := models.UploadedFile{}
err := decoder.Decode(&uploadedFile)
dec, _ := base64.StdEncoding.DecodeString(uploadedFile.FileBase64)

我从这里去哪里?我已经尝试了很多东西,但我一直在整个文件中遇到错误。

我试过改编人们用于图像的代码,但我总是崩溃和烧毁,因为文件不是图像,它可以是任何东西

提前致谢。

最佳答案

更新:我忘了说,如果你使用f.Write确保同时调用 f.Sync在你写完之后,确保你写的所有内容都被实际存储起来。该示例显示了更新后的代码。

不确定您的代码示例是否不完整,因此这个答案可能无关紧要,但要将解码后的字符串字节保存到文件中,您首先需要打开或创建一个文件,然后将字节写入其中。像这样:

package main

import (
"encoding/base64"
"io"
"os"
)

var b64 = `TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz
IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg
dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu
dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo
ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=`

func main() {
dec, err := base64.StdEncoding.DecodeString(b64)
if err != nil {
panic(err)
}

f, err := os.Create("myfilename")
if err != nil {
panic(err)
}
defer f.Close()

if _, err := f.Write(dec); err != nil {
panic(err)
}
if err := f.Sync(); err != nil {
panic(err)
}
}

在这里运行:https://play.golang.org/p/SZVquhZdXC

关于file - Base64 字符串解码并保存为文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43212213/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com