在将zip文件转换为 base64 编码字符串时,需要使用 MIME 支持发送邮件
var encodedContent = Convert.ToBase64String(Encoding.ASCII.GetBytes(File.ReadAllText(zipFilePath)));
但是我收到的所有附件都已损坏。似乎 base64 编码不正确。任何人都可以就此提出建议。
File.ReadAllText
旨在阅读text,因此应用编码(并且该重载应用启发式方法来确定编码)。这就是为什么您需要“取消编码”以获取字节的原因。
以这种方式应用不同的编码可能会导致字节流发生变化(这就是编码的重点)。
最好直接从文件中读取字节,例如File.ReadAllBytes
可以直接传递给ToBase64String
.