因此,我已經將該圖像呈現爲我想要在我的視圖中顯示的字節[]形狀。ASP MVC無法在視圖中顯示圖像
這是我的圖像模式:
public class ImageModel
{
public Byte[] imageFirst { get; set; }
}
這是我的控制器從數據庫挑選出的圖像:
public ActionResult Image()
{
string cs = "Data Source=" + Environment.CurrentDirectory + "\\ImageDB.db";
using (SQLiteConnection con = new SQLiteConnection(cs))
{
var listOfImages = new List<ImageModel>();
string stm = "SELECT * FROM Image";
con.Open();
using (SQLiteCommand cmd = new SQLiteCommand(stm, con))
{
using (SQLiteDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
listOfImages.Add(new ImageModel
{
imageFirst = Serialize(rdr["image_first"]),
});
}
rdr.Close();
Images = listOfImages;
}
}
con.Close();
}
return View(Images);
}
public static byte[] Serialize(object obj)
{
var binaryFormatter = new BinaryFormatter();
var ms = new MemoryStream();
binaryFormatter.Serialize(ms, obj);
return ms.ToArray();
}
這是當我嘗試顯示在圖像觀點:
<img src="data:image/jpg;base64,@(Convert.ToBase64String(@item.imageFirst))" width="300px"/>
我不能爲了我的愛找出爲什麼它不能顯示。圖像被存儲爲我只能假設爲數據庫中的一個blob,但現在我希望它們只是光盤上的圖像文件,因爲這似乎使它更容易將它們附加到視圖上。
你的代碼有點混亂。您將模型添加到'listOfSlides',但將視圖與'listOfImages'一起返回,這似乎永遠不會被填充。 –
是的,這確實有點令人困惑!現在已經修復了。 – Khaine775
什麼是'rdr [「image_first」]'?圖像如何存儲到這個領域? – B2K