0

我用下面的代碼:獲得在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> 

而且......

[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"); 
} 

取而代之的將文件保存到文件系統,我想從傳入文件中提取二進制數據,這樣我就可以將圖像提交到我的數據庫。我可以對我的代碼進行哪些更改以支持此操作?

回答

3

也許嘗試這個片段在您的解決方案:

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.