C# MailKit-如何获取每个附件的大小

C# MailKit-如何获取每个附件的大小,c#,mailkit,mime-message,C#,Mailkit,Mime Message,我想将附件信息格式化为带有文件名和文件大小的字符串 我可以在附件中获取文件名。内容配置,但大小为空。还有别的办法吗 例如:string.Join(“,”+Environment.NewLine,mailData[i].Attachments.ToList()。选择(y=>y.ContentDisposition.FileName+”(“+y.ContentDisposition.Size.ToString()+”)。ToList()) 我想要的示例输出: xxx.jpg(123字节), xxx.

我想将附件信息格式化为带有文件名和文件大小的字符串

我可以在
附件中获取文件名。内容配置
,但大小
。还有别的办法吗

例如:
string.Join(“,”+Environment.NewLine,mailData[i].Attachments.ToList()。选择(y=>y.ContentDisposition.FileName+”(“+y.ContentDisposition.Size.ToString()+”)。ToList())

我想要的示例输出:

xxx.jpg(123字节),
xxx.png(456字节),
xxx.pdf(123456字节),

没有任何属性可以获取大小(ContentDisposition上的
size
属性依赖于发送客户端来设置,即使设置可能不准确)

因此,要获得附件的大小,您需要执行以下操作:

static long MeasureAttachmentSize (MimePart part)
{
    using (var measure = new MimeKit.IO.MeasuringStream ()) {
        part.Content.DecodeTo (measure);
        return measure.Length;
    }
}

你好这会下载附件吗?上面的代码段假定您已经下载了附件。