asp.net-web-api2 - 以新的 ASP.NET vnext Web api 方式访问 Request.Content?

标签 asp.net-web-api2 asp.net-core asp.net-core-mvc

我已经到处搜索这个,但似乎找不到一种在 MVC Web api 中访问 Request.Content 的方法。我基本上是在尝试创建往返于 Azure Blob 和表存储的文件服务(用于存储有关文件的元数据的表,用于实际文件的 blob)....

我正在转换以下链接中的步骤,但这就是我遇到困难的地方

后端我已经工作了,但找不到新的统一 Controller 将文件对象从 json post 传递到服务的方法!任何想法都会一如既往地受到高度赞赏...或者我只是以错误的方式处理这个问题?

Article here....

更新:所以澄清一下,我在新的 MVC 6 中尝试做的事情(您不再有可以继承的 apicontroller)是访问已上传到的文件来自 JSON 帖子的 api。这就是我想要实现的目标。 我正在尝试使用基于旧 Web API 的文章,该 API 使用 Request.Content 来访问它,但是即使我使用他们提供的 WebAPIShim,我仍然会遇到不再可用的其他对象或属性,所以我'我想知道我是否需要以不同的方式处理它,但无论哪种方式,我想做的就是从 JSON post 获取文件到 MVC 6 Web api 并将该文件传递到我的后端服务......

有什么想法吗?

最佳答案

这是一个不依赖模型绑定(bind)的示例。

您始终可以在 Request.Body 中找到请求数据,或者使用 Request.Form 以表单形式获取请求正文。

[HttpPost]
public async Task<IActionResult> UploadFile()
{
    if (Request.Form.Files != null && Request.Form.Files.Count > 0)
    {
        var file = Request.Form.Files[0];
        var contentType = file.ContentType;

        using (var fileStream = file.OpenReadStream())
        {
            using (var memoryStream = new MemoryStream())
            {
                await fileStream.CopyToAsync(memoryStream);

                // do what you want with memoryStream.ToArray()
            }
        }       
    }

    return new JsonResult(new { });
}

关于asp.net-web-api2 - 以新的 ASP.NET vnext Web api 方式访问 Request.Content?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33741364/

相关文章:

asp.net-web-api2 - 如何在 Asp.net Web Api 2 - Owin - ApiController 中获取自定义声明值。

asp.net-mvc-3 - 如何读取 ASP.Net MVC 3 Web API 2.1 Controller 中的 POST 数据?

c# - 将基类属性设置为首先出现在 web api 2 的 json 输出中

c# - ASP.NET Identity WebAPI 密码重置 token 无效

azure - 在 Azure WebJobs 中使用 NLog 进行日志记录

mysql - 使用asp.net core查询Mysql数据库

asp.net - 将 ASP.NET 4 Razor "extensionless URLs"站点移植到 ASP.NET 5

asp.net-core-mvc - 为什么我不能让 font awesome 在 ASP.NET Core MVC 应用程序中工作?

c# - 在 EF7 中使用 dbset 和映射器有什么区别

c# - 允许 ASP.Net Core WEB API 中的参数名称为 "["