【问题标题】:Error Upload image in Asp.net core Razor Pages在 Asp.net 核心 Razor 页面中上传图像时出错
【发布时间】:2020-11-21 23:17:42
【问题描述】:

我是 Asp.net core 的新手,我想上传图片。我一直在关注这个视频(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 (process 12992) exited with code -1 .调试停止时自动关闭控制台,启用工具->选项->调试->调试停止时自动关闭控制台。

请帮帮我吧!

【问题讨论】:

  • 程序自动关闭是什么意思?有任何错误信息吗?
  • 我上传图片并提交,程序关闭,cmd中的错误信息:D:\c_sharp\LearnRazorPages\Razorpages_FileUpload\Razorpages_FileUpload\bin\Debug\netcoreapp3.1\Razorpages_FileUpload.exe(进程12992)以代码 -1 退出。调试停止时自动关闭控制台,启用工具->选项->调试->调试停止时自动关闭控制台。
  • vscode 或 Visual Studio 关闭了吗?尝试清理您的解决方案 dotnet clean 或阅读 docs.microsoft.com/en-us/dotnet/core/tools/dotnet-clean 以获得有关如何实现该目标的完整工作,看看是否有帮助
  • 程序在visual studio 2019中有错误,但在visual studio 2019 Preview中没有错误

标签: c# asp.net-core razor-pages


【解决方案1】:

如您所见,您发布的代码对我来说效果很好。

崩溃的主要原因是您的 VS Debugging 设置。 按照gif中的这些步骤关闭Automatically close the console when debugging stops.

然后,您可能会在关闭应用程序时收到有关您的代码的错误。

【讨论】:

  • 谢谢,我修复了它,因为我的 Visual Studio 2019 出错了,我修复它并且我的项目运行良好
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-02
  • 1970-01-01
  • 2020-02-03
  • 2022-01-20
  • 2021-09-15
  • 1970-01-01
相关资源
最近更新 更多