c# - 在剃刀页面中上传文件时拒绝连接
问题描述
我试图在我的项目中进行文件上传。问题是每当我单击提交按钮时,我得到的只是 ERR_CONNECTION_REFUSED。我的页面代码如下:
@page
@model EShop.Pages.Administration.UploadImageModel
@{
ViewData["Title"] = "UploadImage";
Layout = "~/Pages/Administration/Shared/_AdminLayout.cshtml";
}
<h1>Upload obrázků</h1>
<form method="post" enctype="multipart/form-data">
<input type="file" multiple asp-for="Uploads" />
<input type="submit" />
</form>
和:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace EShop.Pages.Administration
{
public class UploadImageModel : PageModel
{
private IWebHostEnvironment _environment;
public UploadImageModel(IWebHostEnvironment environment)
{
_environment = environment;
}
[BindProperty]
public IList<IFormFile> Uploads { get; set; }
public async Task OnPostAsync ()
{
foreach (var u in Uploads)
{
var file = Path.Combine(_environment.ContentRootPath, "uploads", u.FileName);
using (var fileStream = new FileStream(file, FileMode.Create))
{
await u.CopyToAsync(fileStream);
}
}
}
}
}
这有什么问题吗?还是其他地方的错误?
解决方案
我能够创建一个干净的项目并复制到您的 UploadImage 代码中,它可以按预期工作。我不知道您是否打算这样做,但您可能还需要在您的类中使用 OnGet 方法处理程序。此外,您目前只上传一个文件,所以我不确定您是否打算将 Uploads 声明为列表。
这是 UploadImage.cshtml 代码:
@page
@model StarterWebApplication.Pages.UploadImageModel
@{
ViewData["Title"] = "UploadImage";
}
<h1>UploadImage</h1>
<form method="post" enctype="multipart/form-data">
<input type="file" multiple asp-for="Uploads" />
<input type="submit" />
</form>
这是 UploadImage.cshtml.cs 代码:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace StarterWebApplication.Pages
{
public class UploadImageModel : PageModel
{
//public void OnGet()
//{
//}
private IWebHostEnvironment _environment;
public UploadImageModel(IWebHostEnvironment environment)
{
_environment = environment;
}
[BindProperty]
public IList<IFormFile> Uploads { get; set; }
public async Task OnPostAsync()
{
foreach (var u in Uploads)
{
var file = Path.Combine(_environment.ContentRootPath, "uploads", u.FileName);
using (var fileStream = new FileStream(file, FileMode.Create))
{
await u.CopyToAsync(fileStream);
}
}
}
}
}
推荐阅读
- python-3.x - 尝试使用 pip 安装 mysqlclient 包时编译错误
- r - 如何用R中的igraph计算只有传入和传出边的顶点?
- php - 在 PHP 中单行调用多个函数
- javascript - UnhandledPromiseRejectionWarning: MongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoNetworkError
- java - 注入 SpringBoot 自定义配置属性列表
- r - 在 R 中合并 2 个大型数据集
- spring-boot - Spring Boot:mybatis初始化前的Flyway迁移
- javascript - 如何解析json键点文字
- python-3.x - EarlyStopping 忽略了我定义的自定义指标。凯拉斯模型
- go - 在 Windows 7 上通过 cgo 安装使用 SDL2 的软件包时出现问题