我已经到处搜索这个,但似乎找不到一种在 MVC Web api 中访问 Request.Content 的方法。我基本上是在尝试创建往返于 Azure Blob 和表存储的文件服务(用于存储有关文件的元数据的表,用于实际文件的 blob)....
我正在转换以下链接中的步骤,但这就是我遇到困难的地方
后端我已经工作了,但找不到新的统一 Controller 将文件对象从 json post 传递到服务的方法!任何想法都会一如既往地受到高度赞赏...或者我只是以错误的方式处理这个问题?
更新:所以澄清一下,我在新的 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/