gpt4 book ai didi

c# - 如何保存附件?

转载 作者:行者123 更新时间:2023-11-30 15:25:19 24 4
gpt4 key购买 nike

我正在使用 MailKit/MimeKit 1.2.7(最新的 NuGet 版本)。

我一直在阅读 API 文档和 stackoverflow 上的几篇文章。但我仍然无法成功将电子邮件附件另存为文件。

这是我当前的代码:

var mimePart = (attachment as MimePart);
var memoryStream = new MemoryStream();
mimePart.ContentObject.DecodeTo(attachmentStream);

using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
memoryStream.CopyTo(fileStream);
}

我一直在用不同类型的附件尝试这段代码。我的光盘上创建的文件总是空的。

我错过了什么?

最佳答案

上述代码的问题在于您忘记将 memoryStream.Position 重置回 0 :-)

但是,做您想做的事情的更好方法是:

var mimePart = (attachment as MimePart);

using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
mimePart.ContentObject.DecodeTo(fileStream);
}

换句话说,不需要使用临时内存流。

关于c# - 如何保存附件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31424376/

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