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

时间:2014-07-11 05:09:39

标签: c# asp.net-mvc asp.net-web-api

我有以下情况:

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

  1. asp.net mvc website
  2. asp.net web api(移动应用程序服务)。
  3. 用户应该能够使用移动网络API项目从移动应用上传个人资料图片。但问题是图像实际存储在asp.net mvc网站的不同服务器上。

    所以这是流程:

    1. 用户上传图片并将其发送至mobileapidomain / api / user / uploadpicture。 (BASE64)
    2. 现在我必须将此图像发送到asp.net mvc网站并将其存储在asp.net mvc服务器上。
    3. 将带有web api控制器的图像的当前base64字符串发送到asp.net mvc项目的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

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

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

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

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

如果在acton抛出异常中出现问题,则通知对等方发生了错误。如果文件太长而无法在一个帖子中发送,我建议将其拆分并在mvc应用程序中连接,因为它会收到新的部分。