c# - 在 Asp.net 核心 Razor 页面中上传图像时出错
问题描述
我是 Asp.net 核心的新手,我想上传图片。我一直在关注这个视频(https://www.youtube.com/watch?v=Fx-EQ1hT8R0)。当我运行应用程序时,当我选择图像并单击提交时,程序会自动关闭。我不明白错误出现在哪里。
这是 HTML 页面:
<form method="post" enctype="multipart/form-data">
<p>
<input type="file" name="uploadfiles" />
<input type="submit" value="Upload" class="btn btn-primary" />
</p>
</form>
这是 IndexModel 页面:
public class IndexModel : PageModel
{
private readonly Razorpages_FileUploadContext _context;
private readonly IWebHostEnvironment _environment;
public IndexModel(Razorpages_FileUploadContext context, IWebHostEnvironment environment)
{
_context = context;
_environment = environment;
}
public IList<ImageSave> ImageSave { get; set; }
public async Task OnGetAsync()
{
ImageSave = await _context.ImageSave.ToListAsync();
}
public async Task<IActionResult> OnPostAsync(IFormFile uploadfiles, ImageSave img)
{
if (!ModelState.IsValid)
{
return Page();
}
string imgext = Path.GetExtension(uploadfiles.FileName);
if (imgext == ".jpg" || imgext == ".png" || imgext == ".gif")
{
var imgsave = Path.Combine(_environment.WebRootPath, "Images", uploadfiles.FileName);
var stream = new FileStream(imgsave, FileMode.Create);
await uploadfiles.CopyToAsync(stream);
stream.Close();
img.Imgname = uploadfiles.FileName;
img.Imgpath = imgsave;
await _context.ImageSave.AddAsync(img);
await _context.SaveChangesAsync();
}
return RedirectToPage("./Index");
}
}
我上传图像并提交,程序关闭,cmd 中的错误消息:D:\c_sharp\LearnRazorPages\Razorpages_FileUpload\Razorpages_FileUpload\bin\Debug\netcoreapp3.1\Razorpages_FileUpload.exe(进程 12992)退出,代码为 -1。要在调试停止时自动关闭控制台,请启用工具->选项->调试->调试停止时自动关闭控制台。
请问你能帮帮我吗!
解决方案
推荐阅读
- reactjs - 使“serverSideTranslations”功能通用
- javascript - 是的日期验证 - 开始日期不能与结束日期相同
- python - 如果 __name__ == "__main__" 则模拟:
- javascript - 未捕获的 SyntaxError:意外的严格模式保留字
- javascript - 我无法使用渲染项中的值
- flutter - 颤振中的功能
- c# - 测试不会在调试模式 C# 下运行
- annotations - Spring批处理的空指针异常post提交
- jdeveloper - 在 glassfish 服务器 4.1 上运行 adf 应用程序时出错
- angular - Angular 单元测试在本地工作,但在 GitLab CI 中使用 Karma 被杀死