我正在尝试访问电子邮件中的文件附件,并将附件作为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'不见了。"。 关于这个的任何想法
答案 0 :(得分:1)
据我了解,您正在寻找一种方法将附件内容加载到流中,您可以将其作为blob进一步上传。
如果是这种情况,我建议您将文件附件的内容写入MemoryStream:
var stream = new System.IO.MemoryStream(fileAttachment.Content);
如果您想以字符串形式阅读内容,您也可以这样做:
var reader = new System.IO.StreamReader(stream, UTF8Encoding.UTF8);
var text = reader.ReadToEnd();
希望这有帮助!