这是我正在做的事情:
public static MVC_Picture GetPictureRecord(int pictureID)
{
int pictureId = pictureID;
MVC_Picture _picture = new MVC_Picture(); //object that stores name and array
var connString = db.connString;
string cmdText = "SELECT PictureName, PictureImage FROM Picture WHERE CONVERT(INT, ID) =@pictureId;";
using (var connection = new SqlConnection(connString))
{
using (var sqlCmd = new SqlCommand(cmdText, connection))
{
SqlParameter param1 = new SqlParameter();
param1.ParameterName = "@pictureId";
param1.Value = pictureId;
sqlCmd.Parameters.Add(param1);
connection.Open();
SqlDataReader dr = sqlCmd.ExecuteReader();
while (dr.Read())
{
_picture.Id = pictureId;
_picture.PictureName = Convert.ToString(dr["PictureName"]);
_picture.PictureImage = (byte[])(dr["PictureImage"]); //Problem
}
connection.Close();
}
}
return _picture;
}
当我转换为时,byte[]我得到如下信息:{byte[4354567]}
然后我试图将数组转换为Image这样:
Image img = (Image)converter.ConvertFrom(_picture.PictureImage);
ViewModel.FeaturedImage = img;
在视图中我使用:
<img src="@ViewModel.FeaturedImage" alt="Featured Image" />
我错过了什么?
FFIVE
相关分类