使用ASP.NET MVC将图像上传到本地数据库

时间:2018-09-20 18:38:54

标签: c# asp.net-mvc image localdb

我正在尝试将图像文件上传到数据库,但不断出现此错误:

  

输入内容不是有效的Base-64字符串,因为它包含非Base 64字符,两个以上的填充字符或填充字符中的非法字符

我尝试了以下几个教程,但是仍然发生相同的错误。

注意:我也尝试查看过类似的问题,但没有成功。

这是我控制器的当前状态:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Add(ImageFormViewModel viewModel)
{
    if (!ModelState.IsValid)
    {
        viewModel.Categories = _context.Categories.ToList();
        return View("Add", viewModel);
    }

    byte[] data = new byte[viewModel.Img.ContentLength];
    viewModel.Img.InputStream.Read(data, 0, viewModel.Img.ContentLength);

    var image = new Image
        {
            Name = viewModel.Name,
            Img = data,
            Author = viewModel.Author,
            CategoryID = viewModel.Category
        };

    _context.Images.Add(image);
    _context.SaveChanges();

    return RedirectToAction("Index", "Home");
}

有人可以解释吗?

0 个答案:

没有答案