PDA

View Full Version : سوال: ثبت و فراخوانی تصویر در sql server با asp.net و c#



night-wolf
سه شنبه 17 دی 1392, 22:22 عصر
با سلام و خسته نباشید ...

دوستان من میخوام تصویری رو بصورت باینری در sql server ثبت کنم و این کار رو کردم

الان میخوام فراخوانی کنم در یک کنترل Image که نمایش بده اما اررور میده لطفا کد رو بررسی کنید

private void Page_Load(object sender, System.EventArgs e)
{
MemoryStream stream = new MemoryStream ();
SqlConnection connection = new
SqlConnection (@”server=127.0.0.1;database=MyData;uid=sa;pwd=y ourpass“);
try
{
connection.Open ();
SqlCommand command = new
SqlCommand (“select Picture from Image“, connection);
byte[] image = (byte[]) command.ExecuteScalar ();
stream.Write (image, 0, image.Length);
Bitmap bitmap = new Bitmap (stream);
Response.ContentType = “image/gif“;
bitmap.Save (Response.OutputStream, ImageFormat.Gif);
}
finally
{
connection.Close ();
stream.Close ();
}

در ضمن این یه مثاله و کانکشن استرینگ اینا دقیق هست و مشکلی نداره چون تو درج راحت درج شد

اینم کد درج

int len = Upload.PostedFile.ContentLength;
byte[] pic = new byte[len];
Upload.PostedFile.InputStream.Read (pic, 0, len);

// افزودن تصویر و توضیح تصویر به بانک اطلاعاتی
SqlConnection connection = new
SqlConnection (”server=(local);database=MyData;uid=sa;pwd=your pass“);
try
{
connection.Open ();
SqlCommand cmd = new SqlCommand (“insert into Image(Tasvir)values(' " + pic + " '),connection);

cmd.ExecuteNonQuery ();
}
finally
{
connection.Close ();

حالا فقط مشکل اساسی فراخوانی تو یه کنترل image هست لطفا راهنمایی کنید !

ممنون :لبخندساده:

bahareh1368
سه شنبه 17 دی 1392, 23:01 عصر
با سلام و خسته نباشید ...

دوستان من میخوام تصویری رو بصورت باینری در sql server ثبت کنم و این کار رو کردم

الان میخوام فراخوانی کنم در یک کنترل Image که نمایش بده اما اررور میده لطفا کد رو بررسی کنید

private void Page_Load(object sender, System.EventArgs e)
{
MemoryStream stream = new MemoryStream ();
SqlConnection connection = new
SqlConnection (@”server=127.0.0.1;database=MyData;uid=sa;pwd=y ourpass“);
try
{
connection.Open ();
SqlCommand command = new
SqlCommand (“select Picture from Image“, connection);
byte[] image = (byte[]) command.ExecuteScalar ();
stream.Write (image, 0, image.Length);
Bitmap bitmap = new Bitmap (stream);
Response.ContentType = “image/gif“;
bitmap.Save (Response.OutputStream, ImageFormat.Gif);
}
finally
{
connection.Close ();
stream.Close ();
}

در ضمن این یه مثاله و کانکشن استرینگ اینا دقیق هست و مشکلی نداره چون تو درج راحت درج شد

اینم کد درج

int len = Upload.PostedFile.ContentLength;
byte[] pic = new byte[len];
Upload.PostedFile.InputStream.Read (pic, 0, len);

// افزودن تصویر و توضیح تصویر به بانک اطلاعاتی
SqlConnection connection = new
SqlConnection (”server=(local);database=MyData;uid=sa;pwd=your pass“);
try
{
connection.Open ();
SqlCommand cmd = new SqlCommand (“insert into Image(Tasvir)values(' " + pic + " '),connection);

cmd.ExecuteNonQuery ();
}
finally
{
connection.Close ();

حالا فقط مشکل اساسی فراخوانی تو یه کنترل image هست لطفا راهنمایی کنید پروژم گیره !

ممنون :لبخندساده:


من برای اینکه بتونم تصاویر باینری رو از دیتابیس بخونم یه Generic Handler بنام ImageHandler.ashx به پروژه م اضافه کردم و اینطوری نوشتم :

public void ProcessRequest(HttpContext context)
{
string Connectionstrin=configurationManager["ConnectionString"].Connectionstring;
string userID=context.Request.Querystring["UserID"];
SqlConection con=new Sqlconnection(Connectionstrin);
con.open();
Sqlcommand cmd=new Sqlcommand("select Users.image from Users where Users.UserID"+UserID,con);
SqlDataReader dr=cmd.ExecuteReader();
dr.Read();
context.Response.BinaryWrite((Byte[])dr[0]);
con.close();
context.Response.End();
}


سپس در کد زیر را در وب فرم مینویسیم. البته در این مثال فرض بر این بوده که قراره عکس فرد خاصی را در یک دیتالیست نمایش دهیم بنابراین در itemtemplate این کنترل من یه image گذاشتم و برای اینکه عکس باینری در دیتابیس رو نمایش بده این کد رو نوشتم :



<asp:Image ID="Image1" runat="Server" ImageUrl='<%# "ImageHandler.ashx?UserID="+Eval("UserID")%>' />

night-wolf
سه شنبه 17 دی 1392, 23:21 عصر
این کد م میشه اما من کدی که قرار دادم میخوام یاد بگیرم و مشکلشو بررسی کنم

بابت پاسختون ممنون !



اینجا هم فیلم آموزشی رو گذاشته !


http://www.nikamooz.com/%D9%85%D9%82%D8%A7%D9%84%D8%A7%D8%AA-%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86/%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%88%D8%A8/asp-net/179-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%B4%D8%AF%D9%87-%D8%AF%D8%B1-%D8%A8%D8%A7%D9%86%DA%A9-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA%DB%8C-sql-server-%D8%A8%D8%B1-%D8%B1%D9%88%DB%8C-%D8%B5%D9%81%D8%AD%D9%87-asp-net.html

night-wolf
چهارشنبه 18 دی 1392, 19:30 عصر
ای بابا کسی پیدا نشد راهنمایی کنه ؟؟؟