如果我上传一个文件并且它由Microsoft.AspNet.Http.Features.Internal.FormFile
表示,它是否会存储在进程文件系统的任何位置,还是指向仅存在于内存中的字节?
答案 0 :(得分:1)
基于HttpRequest.Body内存流的FormFile对象。查看有关github
的更多详情var file = new FormFile(_request.Body, section.BaseStreamOffset.Value, section.Body.Length, name, fileName)
{
Headers = new HeaderDictionary(section.Headers),
};
您可以调用FormFile.SaveAs()或FormFile.SaveAsAsync()将文件保存在文件系统中:
public class HomeController : Controller
{
public IHostingEnvironment Hosting { get; set; }
public async Task<IActionResult> Index(IFormFile file)
{
await file.SaveAsAsync(Path.Combine(Hosting.WebRootPath, "storage", "file.txt"));
//...
}
}