从web API控制器发送数据到单独的asp.net mvc网站

本文关键字:单独 asp net 网站 mvc 数据 API web 控制器 | 更新日期: 2023-09-27 18:12:21

我有以下情况:

在我们的解决方案中有两个不同的项目:

  1. asp.net mvc网站
  2. asp.net web api (service for mobile apps).

用户应该有能力上传个人资料图片从他们的移动应用程序使用移动web api项目。但问题是,图像是物理存储在不同的服务器在asp.net mvc网站。

流程如下:

  1. 用户上传图片并发送到mobileapiddomain/api/User/uploadpicture。(base64)
  2. 现在我必须将此图像发送到asp.net mvc站点并将其存储在asp.net mvc服务器上。
什么是最好的方式发送当前base64字符串与图像从web api控制器到asp.net mvc项目?

从web API控制器发送数据到单独的asp.net mvc网站

在这种情况下,我认为最好的选择是在你的mvc web应用程序项目包中安装WebApi,并使这个项目同时成为web应用程序(正常使用)和web服务。然后像这样创建新的ApiController:

[HttpPost]
public IHttpActionResult UploadPicture(string base64)
{
    // Do something with image
    return Ok();
}

如果你不希望在那里安装WebApi库,那么我建议添加新的常规控制器来上传图片,并在那里添加类似的操作:

[HttpPost]
public void UploadPicture(string base64)
{
    // Do something with image
}

如果在action抛出异常中出现错误,通知对等端发生了错误。如果文件太长而不能在一篇文章中发送,我建议将其拆分并在mvc应用程序中连接,因为它接收到新的部分。