Asp.Net Mvc 6'da, resmi veritabanına eklemek için görüntüyü bayt olarak dönüştürmeye çalışıyorum. Doğru kodlama yöntemini kullanmanın yolunu bulamıyorum. Birisi aşağıdaki kodu düzeltmek için bana yardımcı olabilir, hata kodlamada: UInt32 verilen bağlamda geçerli değil.Görüntüyü Asp.Net Mvc 6'ya Dönüştürme Mkt 6
private readonly ApplicationDbContext _context = new ApplicationDbContext();
public int UploadImageInDataBase(IFormFile file, PublisherInfos publisherInfos)
{
publisherInfos.CoverImage = ConvertToBytes(file);
var pubInfos = new PublisherInfos
{
ImageSize = publisherInfos.ImageSize,
FileName = publisherInfos.FileName,
CoverImage = publisherInfos.CoverImage
};
_context.PublisherInfos.Add(pubInfos);
int i = _context.SaveChanges();
if (i == 1)
{
return 1;
}
else
{
return 0;
}
}
// ConvertToBytes
private byte[] ConvertToBytes(IFormFile image)
{
byte[] CoverImageBytes = null;
var _reader = new StreamReader(image.OpenReadStream());
BinaryReader reader = new BinaryReader(_reader.ReadToEndAsync, encoding: UInt32);
CoverImageBytes = reader.ReadBytes((int)image.Length);
return CoverImageBytes;
}
//
public IActionResult Create(PublisherInfos publisherInfos)
{
if (ModelState.IsValid)
{
IFormFile file = Request.Form.Files["CoverImage"];
PublisherInfosRepository service = new PublisherInfosRepository();
int i = service.UploadImageInDataBase(file, publisherInfos);
if (i == 1)
{
// Add file size and file name into Database
_context.PublisherInfos.Add(publisherInfos);
_context.SaveChanges();
return RedirectToAction("Index", new { Message = PublisherInfoMessageId.DataloadSuccess });
}
}
return View(publisherInfos);
}
Peki, denemek MVC 5 kullanıyorsanız: gelen UInt32' ve ne beklenir demek istiyorsun – CodeCaster
Sadece BinaryReader yapıcısını kontrol edin ve C# sözdizimini kullanarak geçirmeniz gerekenleri anlayacaksınız. –
Sadece daha fazla bilgi daha iyi olduğunu belirtti. Neyin yanlış gittiğini belirtmiyorsun. Bir istisna atar ... –