【问题标题】:Send data from web API controller into separate asp.net mvc website将数据从 Web API 控制器发送到单独的 asp.net mvc 网站
【发布时间】:2014-07-11 05:09:39
【问题描述】:
我有以下情况:
我们的解决方案中有两个不同的项目:
- asp.net mvc 网站
- asp.net web api(移动应用服务)。
用户应该能够使用移动网络 API 项目从他们的移动应用上传个人资料图片。但问题是图像物理存储在 asp.net mvc 网站的不同服务器上。
所以这是流程:
- 用户上传图片并发送到mobileapidomain/api/user/uploadpicture。 (base64)
- 现在我必须将此图像发送到 asp.net mvc 站点并将其存储在 asp.net mvc 服务器上。
将带有图像的当前 base64 字符串从 web api 控制器发送到 asp.net mvc 项目的最佳方法是什么?
【问题讨论】:
标签:
c#
asp.net-mvc
asp.net-web-api
【解决方案1】:
在这种情况下,我认为最好的选择是在您的 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
}
如果动作中出现问题,则抛出异常以通知对等方发生了错误。如果文件太长而无法在一篇文章中发送,我建议将其拆分并在 mvc 应用程序中连接,因为它会收到它的新部分。