首页 > 解决方案 > 将文件从 cshtml 发送到控制器的操作方法导致“无法访问此站点”

问题描述

我正在使用 ASP.NET Core 3.1。目前,我正在尝试从我的Project/Views/Admin/AddProduct.cshtml文件中发送图像。我创建了一个包含文件输入的表单,然后提交。我需要将文件作为 IFormFile 发送到 UploadFile 操作方法。

添加产品.cshtml:

<form method="post" enctype="multipart/form-data" asp-controller="Admin" asp-action="UploadFile">
    <input name="file" type="file" class="form-control" />
    <input type="submit" value="Create" class="btn btn-default" />
</form>

控制器/AdminController.cs:

[HttpPost]
public IActionResult UploadFile(IFormFile file)
{
    System.Diagnostics.Debug.WriteLine($"SUCCESS: {file.FileName}");
    return RedirectToAction("Index");
}

每当我单击提交按钮时,网站都会将我重定向到 Admin/UploadFile,但是显示:无法访问此站点。localhost 拒绝连接。ERR_CONNECTION_REFUSED

我试过了:

任何帮助表示赞赏。我假设我做错了什么,或者我需要向 StartUp 添加一些东西。

标签: asp.netformsasp.net-corerazor

解决方案


Rena的回答让我删除了我的 .vs 文件夹,它实际上修复了它。然而,几个小时后再次尝试使用该功能,导致同样的错误。尝试再次删除 .vs 文件夹,但没有成功。

我没有提到的一件事是我正在和一个朋友一起做这个项目。我们正在使用 git,即使 .gitignore 被认为是微软推荐的正确设置方式,并且尽管 .vs 在 .gitignore 上,但显然存在某种我无法轻松解决的冲突。

所以,我只是告诉我的朋友去我的分支,试试我的功能,它对他有用。这绝对是 .vs 文件夹。正如Rena指出的那样,我建议检查这个线程 和 stackoverflow 中的这两个链接:Link 1Link 2


推荐阅读