PDA

View Full Version : نمایش عکس که binary ذخیره شده



c#_web
شنبه 18 اسفند 1386, 17:48 عصر
من در برنامه ام یک دیتاگرید دارم که اطلاعات را از دیتابیس خوانده و در لود صفحه پر میشود. حالا در هر سطر هم یک دکمه نمایش گذاشتم که آنرا که کلیک کرد ، عکس مربوط به آن سطر را نشان دهد.البته در همین صفحه ای که هستم در کنترل image.
context.Response.BinaryWrite(image); باعث میشود که عکس روی کل همین صفحه باز شود اما من میخواهم فقط در قسمت image برود.

در قسمت itemcommand از دیتاگرید هم کدهای زیر را نوشتم.
کد:
int id = int.Parse(dg_show.DataKeys[e.Item.ItemIndex].ToString()); DB.con_open(); DataSet ds_pic = new DataSet(); ds_pic.Clear(); SqlCommand com_pic = new SqlCommand("pic_binarry", DB.con_str); com_pic.CommandType = CommandType.StoredProcedure; com_pic.Parameters.Add("@F1", id); SqlDataAdapter da_pic = new SqlDataAdapter(com_pic); da_pic.Fill(ds_pic, "tbl"); byte[] binaryImage = (byte[])ds_pic.Tables["tbl"].Rows[0][0]; Response.Clear(); Response.BinaryWrite(binaryImage); DB.con_close();
که id همان F1 و id سطر جاری است.
و pic_binarry یک storedprocedure در sql است که
select F3 from Pars_Trans_01 where F1=@f1
است و F3 فیلد عکس در دیتابیس است.
حالا برای اینکه عکس در همین صفحه در کنتری image نشان داده شود چه کار باید کرد؟

cpu0001100110000101
شنبه 18 اسفند 1386, 18:57 عصر
دلیل خاصی داره که از Handler استفاده نمی کنید؟

mp2009
دوشنبه 20 اسفند 1386, 22:32 عصر
پیشنهاد میکنم خود عکس رو توی دیتابیس ذخیره نکنید . فقط آدرس اونو ذخیره کنید . چون حجم دیتابیستون بالا میره
پیروز باشید