Asp.net 正在更新映像错误消息(因为另一个进程正在使用它)

Asp.net 正在更新映像错误消息(因为另一个进程正在使用它),asp.net,asp.net-mvc,file,asp.net-core,razor,Asp.net,Asp.net Mvc,File,Asp.net Core,Razor,我有一个功能可以在asp.net核心应用程序中编辑带有图像的书籍,但当我编辑书籍时,会出现以下错误: IOException:进程无法访问该文件 'C:\Users\Mostafa\source\repos\Library\Library\wwwroot\uploads\image.jpg' 因为它正被另一个进程使用 这是我的控制器中的编辑功能: [HttpPost] public IActionResult Update(Book book, BookViewModel bookV

我有一个功能可以在asp.net核心应用程序中编辑带有图像的
书籍
,但当我编辑书籍时,会出现以下错误:

IOException:进程无法访问该文件 'C:\Users\Mostafa\source\repos\Library\Library\wwwroot\uploads\image.jpg' 因为它正被另一个进程使用

这是我的控制器中的编辑功能:

 [HttpPost]
    public IActionResult Update(Book book, BookViewModel bookViewModel)
    {
        string fileName = string.Empty;
        if (bookViewModel.File != null)
        {
            string uploads = Path.Combine(hosting.WebRootPath, "uploads");
            fileName = Guid.NewGuid() + bookViewModel.File.FileName;
            string fullPath = Path.Combine(uploads, fileName);
            string oldfileName = _bookRepository.FindBook(book.Bookid).imageURL;
            string fulloldpath = Path.Combine(uploads, oldfileName);
            if(fullPath != fulloldpath)
            {
                System.IO.File.Delete(fulloldpath);
                bookViewModel.File.CopyTo(new FileStream(fullPath, FileMode.Create));
                bookViewModel.Book.imageURL = fileName;
            }
        }

        if (!ModelState.IsValid)
        {
            bookViewModel.Authors = _authorRepository.GetAll();
            return View(bookViewModel);
        }

        _bookRepository.Update(bookViewModel.Book);

        return RedirectToAction("List");
    }
这是
FindBook
方法:

 public Book FindBook(int id)
    {
        var book = _context.Books.Include(a => a.Author).SingleOrDefault(b => b.Bookid == id);

        return book;
    }
这是编辑方法:

 public void Update(Book newBook)
    {
        _context.Update(newBook);
        _context.SaveChanges();
    }
这是我的剃须刀页面:


看看这个答案: