在Asp.Net Core 2.0中Httpcontext.Current.Request.Files的替代方案是什么?

Kar*_*sai 9 c# asp.net-core

我提到了这个,这表明我可以IHttpContextAccessor用来访问HttpContext.Current.但我想专门接收该对象似乎没有的文件.

那么Httpcontext.Current.Request.Files在Asp.Net Core 2.0中是否有任何替代方案

Moh*_*our 10

在控制器上下文中,您可以通过HttpContext.Request.Form.Files以下方式访问文件:

public IActionResult Index()
{
    var files = HttpContext.Request.Form.Files;

    return View();
}
Run Code Online (Sandbox Code Playgroud)

和外部控制器你必须注入IHttpContextAccessor.

for upload file read ASP.NET Core中的文件上传.

  • 哇..他们将其迁移到“Form”。我没注意到!谢谢 :) (2认同)

Rob*_*Rob 5

在Asp.Net Core 2.0中上传文件是通过IFormFile接口完成的,您可以将其作为后期操作中的参数.

假设您有一个调用POST操作并上传文件的ajax帖子.您首先要创建表单数据.

var data = new FormData();

data.set("file", $("#uploadControl").val())

$.ajax({
   type: "POST",
   url: "upload",
   data: data,
   contentType: false,
   processData: false
});
Run Code Online (Sandbox Code Playgroud)

你的行动会是这样的

[HttpPost]
public IActionResult Upload(IFormFile file)
{
   //save the file
}
Run Code Online (Sandbox Code Playgroud)

请不要复制/粘贴这个,因为这只是如何做的一般想法.