【发布时间】:2018-03-27 14:46:23
【问题描述】:
我已经查看了很多关于此的答案,但我似乎不太明白该怎么做,即使它非常明显。
我想将数据库中的表中的值写入文本文件,并将文本文件附加到电子邮件中,而不将其存储在本地。我正在使用 Sendgrid API 来管理发送电子邮件,并且我正在尝试使用 MemoryStream 来存储数据。
以下是我尝试过的
private MemoryStream WriteToTextFile(IEnumerable<Location> locations)
{
MemoryStream memoryStream = new MemoryStream();
using (StreamWriter streamWriter = new StreamWriter(memoryStream))
{
foreach (var location in locations)
{
streamWriter.WriteLine($"{location.Time},{location.Location},{ location.LocationAccuracy},{ location.IsAlertRaised}");
}
streamWriter.Flush();
}
return memoryStream;
}
然后我尝试将其附加到电子邮件中
memoryStream.Seek(0, SeekOrigin.Begin);
var message = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);
message.AddAttachment(memoryStream, fileName);
var response = await _client.SendEmailAsync(message);
memoryStream.Dispose();
错误很简单“无法从 'System.IO.MemoryStream' 转换为 'string'
我尝试的解决方案是基于此处提出的问题。 AddAttachment from MemoryStream
【问题讨论】:
标签: c# asp.net-core asp.net-core-2.0 sendgrid