0

J'utilise le code suivant:Get binaire de fichier téléchargé (image) dans ASP.NET MVC

<form action="" method="post" enctype="multipart/form-data"> 

    <label for="file">Filename:</label> 
    <input type="file" name="file" id="file" /> 

    <input type="submit" /> 
</form> 

Et ...

[HttpPost] 
public ActionResult Index(HttpPostedFileBase file) { 

    if (file.ContentLength > 0) { 
    var fileName = Path.GetFileName(file.FileName); 
    var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName); 
    file.SaveAs(path); 
    } 

    return RedirectToAction("Index"); 
} 

Au lieu d'enregistrer le fichier sur le système de fichiers , Je veux extraire les données binaires du fichier entrant afin que je puisse valider l'image dans ma base de données. Quels changements puis-je apporter à mon code pour supporter cela?

Répondre

3

Peut-être essayer cet extrait dans votre solution:

byte[] imgData; 
using (BinaryReader reader = new BinaryReader(file.InputStream)) { 
    imgData = reader.ReadBytes(file.InputStream.Length); 
} 

//send byte array imgData to database, or use otherwise as required.