Ошибка при загрузке изображения в Asp. net core Razor Pages - PullRequest
0 голосов
/ 01 августа 2020

Я новичок в ядре 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. Чтобы автоматически закрывать консоль при остановке отладки, включите Инструменты-> Параметры-> Отладка-> Автоматически закрывать консоль при остановке отладки.

Не могли бы вы мне помочь, пожалуйста!

1 Ответ

0 голосов
/ 03 августа 2020

Как видите, размещенный вами код мне подходит. enter image description here

The main reason of crashing is about your VS Debugging setting. Follow these steps in gif to turn off Automatically close the console when debugging stops.

введите описание изображения здесь

Тогда вы можете получить ошибки о ваших кодах при закрытии приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...