应直接用 os.WriteFile() 写入 Base64 解码后的 []byte,避免转 string 导致二进制数据损坏;写入前需用 os.MkdirAll() 创建父目录,路径用 filepath.Join() 拼接,权限设为 0644,扩展名据 MIME 类型推断;大文件宜用 base64.NewDecoder + io.Copy 流式处理,并清洗输入字符串中的空白符。

直接用 os.WriteFile() 写入解码后的 []byte,别转成字符串,也别漏掉路径创建和权限设置。
为什么不能用 fmt.Sprintf("%s", data) 再写入
Base64 解码结果是原始二进制数据(比如 PNG 文件头是 ‰PNG
),里面含 NUL 字节(
