如何在C#中使用MailKit将附件流内容转为字符串变量?
解决MailKit解码附件流直接转为字符串的问题
无需写入磁盘,改用内存流MemoryStream处理解码后的内容,再将其转换为字符串即可,具体代码如下:
using (var memoryStream = new MemoryStream()) { part.Content.DecodeTo(memoryStream); memoryStream.Position = 0; // 重置流指针到起始位置 using (var streamReader = new StreamReader(memoryStream, Encoding.UTF8)) { string xmlContent = streamReader.ReadToEnd(); // 此处可直接将xmlContent存入数据表 } }
注意事项
- 如果XML附件使用的编码不是UTF-8,需替换
Encoding.UTF8为对应编码(如Encoding.GetEncoding("GB2312")),避免出现乱码。
内容的提问来源于stack exchange,提问作者PIBA
相关产品推荐
相关产品推荐

