从数据流创建附件

时间:2015-01-28 20:50:47

标签: c# sendgrid

我正在尝试在Azure上的C#中即时创建SendGrid电子邮件附件。如何更正以下代码,其中someString是一个变量,其中包含从数据库中直接检索的附件xml内容?

using (var attachmentFileStream = new FileStream(@someString, FileMode.Open))
{
    message.AddAttachment(attachmentFileStream, "someattachmentname.xml");
}

它似乎不喜欢它。我收到以下错误:

  • 路径中的非法字符。访问路径
  • 'D:\ Windows \ system32-1'被拒绝。

1 个答案:

答案 0 :(得分:0)

好的......我想我弄明白了。当我将流类型传递给方法时,我需要剥离"使用(var attachmentFileStream ..."换行并将其直接传递到 myMessage.AddAttachment 即:

// convert to Stream type not MemoryStream!
byte[] byteArray = Encoding.UTF8.GetBytes(someString);

Stream theStream = new MemoryStream(byteArray);

myMessage.AddAttachment(theStream, "someattachmentname.xml");