gpt4 book ai didi

c# - 如何在 ASP.NET 5 RC1 MVC 中使用 IFormFile 保存上传的文件

转载 作者:太空狗 更新时间:2023-10-30 01:01:44 25 4
gpt4 key购买 nike

我在 Visual Studio 2015 中使用 ASP.NET 5 RC。

我定义了一个 ViewModel:

public class TeamVM
{
public IFormFile UploadedLogo { get; set; }
}

和一个 Controller :

[HttpPost]
public IActionResult Create(TeamVM vm)
{
vm.UploadedLogo.SaveAs("filename.txt"); // Problem here - There is no SaveAs method
return View();
}

问题是智能感知显示没有SaveAs()方法。我发现了 here该接口(interface)实际上没有 SaveAs()方法。

另外,我意识到如果我改变 IFormFileICollection<IFormFile>循环遍历,收集 IFormFile实例将具有 SaveAs()方法定义。

在我的例子中我想使用IFormFile而不是 ICollection<IFormFile>

如何使用 IFormFile 将文件保存到系统的正确方法? ?

最佳答案

我点击了@garethb 建议的链接 here并按照建议使用扩展方法。有用!

ASP.NET RC1 的解决方案:

要包含的命名空间

using Microsoft.AspNet.Http;

Controller Action

[HttpPost]
public IActionResult Create(TeamVM vm)
{
FormFileExtensions.SaveAs(vm.UploadedLogo, "C:\pathTofile");
return View();
}

此答案归功于@garethb。

ASP.NET RC2 的解决方案:

要包含的命名空间

using Microsoft.AspNetCore.Http;
using System.IO;

Controller Action

[HttpPost]
public IActionResult Create(TeamVM vm)
{
// Make sure the path to the file exists
vm.UploadedLogo.CopyTo(new FileStream("C:\pathTofile", FileMode.Create));
return View();
}

关于c# - 如何在 ASP.NET 5 RC1 MVC 中使用 IFormFile 保存上传的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37153261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com