azure - Azure Function Sengrid - 附件仅在本地工作
问题描述
我正在尝试将文件添加到 azure 函数发送的邮件中。
这是我的功能:
#r "Newtonsoft.Json"
#r "SendGrid"
#r "System.Web"
using System.Web;
using SendGrid.Helpers.Mail;
using System.Net;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Newtonsoft.Json;
using Microsoft.AspNetCore.Http;
using System.IO;
using Microsoft.Azure.WebJobs.Host;
using System;
public static IActionResult Run(HttpRequest req, TraceWriter log, out SendGridMessage message)
{
log.Info("C# HTTP trigger function processed a request.");
string requestBody = new StreamReader(req.Body).ReadToEnd();
EmailContent data = JsonConvert.DeserializeObject<EmailContent>(requestBody);
if (data == null)
{
throw new ArgumentNullException("Data could not be null");
}
message = new SendGridMessage();
message.AddTo(data.Email);
message.SetFrom(new EmailAddress("no-reply@netflio.com"));
message.AddContent("text/html", HttpUtility.HtmlDecode(data.Body));
message.AddAttachment(data.AttachmentName, Convert.ToBase64String(data.Attachment));
message.SetSubject(data.Subject);
return (ActionResult)new OkObjectResult("OK");
}
public class EmailContent
{
public string Email { get; set; }
public string Subject { get; set; }
public string Body { get; set; }
public byte[] Attachment { get; set; }
public string AttachmentName { get; set; }
}
我的函数在我的本地机器上运行得很好,但在我的天蓝色函数上却不行。
文件不见了...
解决方案
推荐阅读
- reactjs - React redux 对同一操作的多次调用仅触发 reducer 一次
- c++ - C ++ for循环查找“给定数字的数字总和”
- css - 如何在chartjs [角度]中在图表底部添加空间
- machine-learning - 为什么 xgboost 树的相同路径会给出 2 个不同的预测?
- swift - 一种访问城市名称列表的方法 (OpenWeatherMap)
- flutter - 如何在颤动中更改卡片的宽度?
- c++ - Boost 无法用方括号验证 IPv6
- bash - 为什么交互式 kubectl bash 会话中缺少空格/换行符
- java - 在 log4j2 GelfLayout 中提供方法名称
- python-3.x - Python-Pandas:我想要 groupby 用户和日期范围(-7)天