C# 访问电子邮件附件

C# 访问电子邮件附件,c#,email,azure-storage,email-attachments,C#,Email,Azure Storage,Email Attachments,我正在尝试访问电子邮件中的文件附件,并将附件作为blob上载到azure表存储 using Microsoft.Exchange.WebServices.Data public void SendEmail(EmailMessage emailMessage) {Stream stream = null; foreach (Attachment attachment in emailMessage.Attachments) {

我正在尝试访问电子邮件中的文件附件,并将附件作为blob上载到azure表存储

using Microsoft.Exchange.WebServices.Data
public void SendEmail(EmailMessage emailMessage)
        {Stream stream = null;
            foreach (Attachment attachment in emailMessage.Attachments)
            {
                if (attachment is FileAttachment)
                {
                    FileAttachment file = (FileAttachment)attachment;
                    file.Load(stream);
                    emailAttachment.UploadEmailAttachment(attachmentFileName, stream);// This will upload to the table storage
                }
            }

        }
当我加载附件时,我收到一个错误,上面写着“请求未通过架构验证:缺少所需的属性'Id'。
关于这方面的任何想法

据我所知,您都在寻找一种方法,将附件的内容加载到流中,您可以进一步将其作为blob上传

如果是这样,我建议您将文件附件的内容写入MemoryStream:

var stream = new System.IO.MemoryStream(fileAttachment.Content);
如果要将内容读取为字符串,也可以执行以下操作:

var reader = new System.IO.StreamReader(stream, UTF8Encoding.UTF8);
var text = reader.ReadToEnd();

希望这有帮助

据我所知,您正在寻找一种方法,将附件的内容加载到流中,您可以将其作为blob进一步上传

如果是这样,我建议您将文件附件的内容写入MemoryStream:

var stream = new System.IO.MemoryStream(fileAttachment.Content);
如果要将内容读取为字符串,也可以执行以下操作:

var reader = new System.IO.StreamReader(stream, UTF8Encoding.UTF8);
var text = reader.ReadToEnd();
希望这有帮助