0
데이터베이스에서 MVC4의 이미지를 표시하는 방법.linq을 사용하여 MVC4의 이미지 데이터를 필터링하는 방법
1 단계 : 내 코드에서 데이터를 검색하고 배열 클래스에 배치하십시오.
public class ImageTable
{
public string ImageId { get; set; }
public string CategoryId { get; set; }
public byte[] Image { get; set; }
}
public class DataAcceess
{
public ImageTable[] GetImages()
{
ImageTable[] Images = null;
SqlConnection Conn = new SqlConnection("Data Source=;Initial Catalog=;UserID=;Password=;");
Conn.Open();
//SqlCommand Cmd = new SqlCommand("Select [Product ID],ImageView1 From Cpecial_Image_tbl", Conn);
SqlCommand Cmd = new SqlCommand("Select b.[Category ID],a.[Product ID], a.[ImageView1] from Cpecial_Image_tbl as a inner join [Cpecial_Product_tbl] as b ON a.[Product ID]=b.[Product ID]", Conn);
SqlDataReader Reader = Cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(Reader);
Images = new ImageTable[dt.Rows.Count];
int i = 0;
foreach (DataRow Dr in dt.Rows)
{
Images[i] = new ImageTable()
{
ImageId = (string)Dr["Product ID"],
CategoryId = (string)Dr["Category ID"],
Image = (byte[])Dr["ImageView1"]
};
i = i + 1;
}
Conn.Close();
return Images;
}
단계 2 : 컨트롤러는 바이트의 배열에이를 이미지 값을 할당 retreive이 같은보기로 복귀.
public ActionResult Index(string id)
{
// var image = db.Categories.First(m => m.CategoryID == id).Picture;
DataAcceess objContext = new DataAcceess();
//byte[] Image = (from a in Images select a.Image.ToArray());
byte[] a;
foreach (var item in objContext.GetImages())
{
a = item.Image;
return File(a, "Image/jpg");
}
return View();
}
3 단계 : 나는 단지 하나의 이미지를 보여줍니다이 다음과 같이보기에 태그를 추가했습니다.
장바구니처럼 모든 이미지를 표시하고 필터
(오름차순 정렬, catagoryId 제외) 이미지를 조작하고 싶습니다.
나에게 해결책을 줄 수 있습니까?