【发布时间】:2019-08-09 13:26:31
【问题描述】:
我对 .NET Core MVC 相当陌生,并尝试创建一个简单的应用程序,用户可以在其中上传文件并将其保存到主文件夹,目前我遵循了一个教程,该教程至少似乎是正确的方向。但是,当我单击提交按钮时,我的 post 方法没有被击中。有人对这是为什么有任何见解吗?
这是我的控制器代码:
namespace GraduateOutcomesConverter.Controllers
{
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
public IActionResult Privacy()
{
return View();
}
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
[HttpPost("UploadFiles")]
public async Task<IActionResult> FileUpload(List<IFormFile> files)
{
long size = files.Sum(f => f.Length);
var filePaths = new List<string>();
foreach (var formFile in files)
{
if(formFile.Length > 0)
{
var filePath = Path.GetTempFileName();
filePaths.Add(filePath);
using (var stream = new FileStream(filePath, FileMode.Create))
{
await formFile.CopyToAsync(stream);
}
}
}
return Ok(new { count = files.Count, size, filePaths });
}
我的观点
@{
ViewData["Title"] = "Home Page";
}
<div class="text-center">
<h1 class="display-4">Welcome</h1>
<p>Please Upload An Excel File.</p>
<input type="file" name="datafile" style="margin-left: 10px; margin-top:
15px; vertical-align: top; font-size:18px; background-color: white; margin-
left:160px; margin-top:15px; width:250px; height:40px /">
</div>
<form method="post" enctype="multipart/form-data" asp-
controller="UploadFiles" asp-action="FileUpload">
<div class="form-group">
<div class="col-md-10">
<p>Please Upload An Excel File.</p>
<input type="file" name="files" multiple />
</div>
</div>
<div class="form-group">
<div class="col-md-10">
<input type="submit" value="Upload" />
</div>
</div>
</form>
任何帮助将不胜感激 谢谢
【问题讨论】:
-
<form method="post" enctype="multipart/form-data" asp- controller="UploadFiles" asp-action="FileUpload">控制器名称无效。你可能想把它改成Home -
非常感谢,我已经摆弄了一个小时试图让它响应
-
很高兴它有帮助。将其发布为答案,以便您可以随意将其标记为答案 (=
标签: c# .net asp.net-mvc asp.net-core