Mettre une image dans une base de données
Bonjour,
J'aimerai mettre une image dans la db, j'ai cree une colonne de type Image (J'ai d'autres donnees dans la table). Ensuite j'ai mis dans la vue le code suivant :
Code:
<input type="file" id="Image" name="Image" size="40" accept="image/jpeg"/>
Dans mon model :
Code:
public byte[] Image { get; set; }
Et dans mon controller :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| [HttpPost]
public ActionResult Create(ContentViewModel model)
{
HttpPostedFileBase file = Request.Files["Image"];
contentViewModel.Image = ConvertToBytes(file);
db.Contents.Add(model);
db.SaveChanges();
return RedirectToAction("Index");
}
public byte[] ConvertToBytes(HttpPostedFileBase image)
{
byte[] imageBytes = null;
BinaryReader reader = new BinaryReader(image.InputStream);
imageBytes = reader.ReadBytes((int)image.ContentLength);
return imageBytes;
} |
Quand j'essaye d'inserer les donnees dans la db j'obtiens l'erreur suivante :
The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
Pourriez-vous m'aider s'il vous plait?
Merci d'avance.