具有多个复杂参数的 web api
web api with multiple complex parameters
我正在尝试创建一个包含多个附件的电子邮件服务网站 api。 web api 只需要一个参数。但是,现在我有 2 个复杂的参数,web api 不接受。请建议我如何实现多个附件并仅使用一个复杂的网络参数 api.
[HttpPost]
[ActionName("sendemail")]
public IHttpActionResult processEmail(EmailModel emailModel,
List<HttpPostedFileBase> attachments)
{
........
}
电子邮件模型
public class EmailModel
{
public string ToAddress { get; set; }
public string FromAddress { get; set; }
public string Body { get; set; }
}
并且,在电子邮件控制器中,我使用列表将附件附加到 MailMessage 对象。
foreach (HttpPostedFileBase attachment in attachments)
{
if (attachment != null)
{
string fileName = Path.GetFileName(attachment.FileName);
//create linked resource for embedding image
LinkedResource pic = new LinkedResource(attachment.InputStream, "image/jpg");
//add linked resource to appropriate view
htmlView.LinkedResources.Add(pic);
}
}
//add view
msg.AlternateViews.Add(htmlView);
一种解决方案是接受您的电子邮件模型作为参数,并抓取 HttpContext.Request.Files 中上传的文件进行循环。这是假设您使用 multipart/form-data
发帖
我正在尝试创建一个包含多个附件的电子邮件服务网站 api。 web api 只需要一个参数。但是,现在我有 2 个复杂的参数,web api 不接受。请建议我如何实现多个附件并仅使用一个复杂的网络参数 api.
[HttpPost]
[ActionName("sendemail")]
public IHttpActionResult processEmail(EmailModel emailModel,
List<HttpPostedFileBase> attachments)
{
........
}
电子邮件模型
public class EmailModel
{
public string ToAddress { get; set; }
public string FromAddress { get; set; }
public string Body { get; set; }
}
并且,在电子邮件控制器中,我使用列表将附件附加到 MailMessage 对象。
foreach (HttpPostedFileBase attachment in attachments)
{
if (attachment != null)
{
string fileName = Path.GetFileName(attachment.FileName);
//create linked resource for embedding image
LinkedResource pic = new LinkedResource(attachment.InputStream, "image/jpg");
//add linked resource to appropriate view
htmlView.LinkedResources.Add(pic);
}
}
//add view
msg.AlternateViews.Add(htmlView);
一种解决方案是接受您的电子邮件模型作为参数,并抓取 HttpContext.Request.Files 中上传的文件进行循环。这是假设您使用 multipart/form-data
发帖