HttpResponseMessage.Content 作为电子邮件的附件

HttpResponseMessage.Content as an attachment for an email

我有一个 API returns 一个 '.xls' 文件,使用 HttpResponseMessage。我想要做的是获取该文件并将其附加到我发送的电子邮件中。

请记住,我无法更改 API 实现,因此,响应将始终为 HtppResponseMessage

好吧,显然我的问题有解决方案。我必须做的是从 API 的 HttpResponseMessage 中获取 HttpContent 作为 Stream。在那之后,所有的过程都是小菜一碟。

这是解决方案。效果很好。

HttpResponseMessage response = _service.GetAPIResponse(...);
Stream data = response.Content.ReadAsStreamAsync().Result;

var mailMessage = new MailMessage()
mailMessage.Attachments.Add(new Attachment(data, response.Content.Headers.ContentDisposition.FileName));

我希望这对其他人也有帮助。

干杯。