Я новичок в ядре 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");
}
}
Я загружаю изображение и submit, программа выключена, сообщение об ошибке в cmd: D: \ c_sharp \ LearnRazorPages \ Razorpages_FileUpload \ Razorpages_FileUpload \ bin \ Debug \ netcoreapp3.1 \ Razorpages_FileUpload.exe (процесс 12992) завершился с кодом -1. Чтобы автоматически закрывать консоль при остановке отладки, включите Инструменты-> Параметры-> Отладка-> Автоматически закрывать консоль при остановке отладки.
Не могли бы вы мне помочь, пожалуйста!