c#mvc上传文件保存到后台_c# – 如何在ASP.NET 5 RC1 MVC中使用IFormFile保存上传的文件...

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

我定义了一个ViewModel:

public class TeamVM

{

public IFormFile UploadedLogo { get; set; }

}

和一个控制器:

[HttpPost]

public IActionResult Create(TeamVM vm)

{

vm.UploadedLogo.SaveAs("filename.txt"); // Problem here - There is no SaveAs method

return View();

}

问题是intellisense显示没有SaveAs()方法.我发现here这个接口实际上没有SaveAs()方法.

另外,我意识到,如果我将IFormFile更改为ICollection< IFormFile>并循环,IFormFile实例的集合将定义SaveAs()方法.

在我的情况下,我想使用IFormFile而不是ICollection< IFormFile>.

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

解决方法:

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

ASP.NET RC1的解决方案:

要包含的命名空间

using Microsoft.AspNet.Http;

控制器动作

[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;

控制器动作

[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,asp-net-mvc,visual-studio-2015

来源: https://codeday.me/bug/20190608/1200384.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值