PDA

View Full Version : نمایش عکس



sepide1
چهارشنبه 29 اسفند 1386, 11:23 صبح
من پروژه ای دارم که یک سری اطلاعات مانند نام و نام خانوادگی و عکس را وارد بانک می کنه حالا می خواهم وقتی صفحه login را کامل کردم (یوزر و پسورد را وارد کردم) به صفحه بعدی بره و علاوه بر اطلاعت مانند نام و ... ،عکس را نیز در یک image نشون بده کسی میتونه کمک کنه یا نه؟(البته تو سایت خیلی چیزا گفتند ولی این چیزی که من می خوام نیست یا بحث را نصفه رها کردند)
کد صفحه login :


protectedvoid Button1_Click(object sender, EventArgs e)
{
SqlConnection con = newSqlConnection("server=(local);database=AB;user id=sepide;password=123");
DataSet dst = newDataSet();
SqlDataAdapter dat = newSqlDataAdapter("select * From DB Where UserName=@UserName AND Password=@Password", con);
dat.SelectCommand.CommandType = CommandType.Text;
dat.SelectCommand.Parameters.AddWithValue("@UserName", this.TextBox1.Text);
dat.SelectCommand.Parameters.AddWithValue("@Password", this.TextBox2.Text);
dat.Fill(dst, "User");
if (dst.Tables["User"].Rows.Count != 0)
{
DataRow dr = dst.Tables["User"].Rows[0];
Session.Add("userid", dr["id"]);
Response.Redirect("control.aspx");
}
else
{
Response.Write("رمز عبور و نام کاربری صحیح نیست");
}
}

کد صفحه ای که قراره اطلاعات دیده شود(control.aspx):


SqlConnection con = newSqlConnection("server=(local);database=AB;user id=sepide;password=123");
DataSet dst = newDataSet();
DataSet dst1 = newDataSet();
int id;
if (Session["userid"] == null)
{
Response.Redirect("Default.aspx");
}
id = int.Parse(Session["userid"].ToString());
string adres, fname1;
if (!IsPostBack)
{
con.Open();
SqlDataAdapter dat = newSqlDataAdapter("select * from DB Where id=@id", con);
dat.SelectCommand.CommandType = CommandType.Text;
dat.SelectCommand.Parameters.AddWithValue("@id", id);
dat.Fill(dst, "User");
DataRow dr = dst.Tables["User"].Rows[0];
this.Label1.Text = dr["name"].ToString();
this.Label1.DataBind();
this.Label2.Text = dr["family"].ToString();
this.Label2.DataBind();

بازم تکرار میکنم عکس داخل بانک قرار داره

raravaice
چهارشنبه 29 اسفند 1386, 12:55 عصر
بازم تکرار میکنم عکس داخل بانک قرار داره
به چه صورت؟
1.مسیر؟
2.استریم؟
3.بایت؟
4.بیس64؟
شما کدامیک از روشهای بالا رو برای ذخیره عکس توی بانک به کار بردید؟

برای موارد 2 ، 3 ، 4 باید عکس رو از بانک بیارید بیرون Decode کنید توی یه Temp ذخیره کنید نشون بدید و یا اینکه یه Page درست کنید که سرآیند Response او به جای Text از انواع باینری با شه مثل image/gif یا image/jpeg

موفق باشید

sepide1
چهارشنبه 29 اسفند 1386, 16:00 عصر
فیلد عکس از نوع image و به صورت باینری ذخیره شده
بازم میگم عکس ذخیره شده فقط می خواهم وقتی دکمه login را زدم برود در صفحه بعدی، عکس و سایر مشخصات کاربر مربوطه را از بانک بخونه و نشون بده

raravaice
چهارشنبه 29 اسفند 1386, 16:17 عصر
اگر به صورت باینری ذخیره شده به صورت زیر عمل کنید.
یه صفحه جدید بسازید و دیتای مربوط رو از بانک بخونید و به صورت زیر Response کنید.


Response.ContentType = "image/jpeg"
Response.BinaryWrite(myDataReader.Item("PersonImage"))[/FONT]
اگر از فرمتهای دیگه تصویر هست اطلاعاتتون به جای jpeg اونو بزارید .
مثلا
image/gif
image/png و غیره.
حالا این صفحه دیگه یه aspx از نوع html و text نیست این صفحه در اصل یه تصویر هست.

حالا یه کنترل image تو جایی که قراره عکس نشون داده بشه بزارید و مسیر این صفحه رو به اون بدید تا هر وقت ای صفحه باز شد عکس نشون داده بشه.

موفق باشید

sepide1
چهارشنبه 29 اسفند 1386, 16:32 عصر
اگر به صورت باینری ذخیره شده به صورت زیر عمل کنید.
یه صفحه جدید بسازید و دیتای مربوط رو از بانک بخونید و به صورت زیر Response کنید.


Response.ContentType = "image/jpeg"
Response.BinaryWrite(myDataReader.Item("PersonImage"))[/FONT]
اگر از فرمتهای دیگه تصویر هست اطلاعاتتون به جای jpeg اونو بزارید .
مثلا
image/gif
image/png و غیره.
حالا این صفحه دیگه یه aspx از نوع html و text نیست این صفحه در اصل یه تصویر هست.

حالا یه کنترل image تو جایی که قراره عکس نشون داده بشه بزارید و مسیر این صفحه رو به اون بدید تا هر وقت ای صفحه باز شد عکس نشون داده بشه.

موفق باشید
اینا خودم قبلا انجام دادم ولی اطلاعات دیگر را مثل نام و... نشون نمیده و فقط عکس را نشون میده حالا اگه شما می تونید روی سورس من انجام بدید ممنون میشم :لبخندساده:

raravaice
چهارشنبه 29 اسفند 1386, 16:45 عصر
ببینید اینو باید توی یه صفحه دیگه اعمال کنید و اون صفحه رو توی یه کنترل img بار گزاری کنید چون اینجا فقط تصویر خونده میشه و توی صفحه اصلیتون بقیه اطلاعات رو نشو بدید.

مثلا اگر اسم صفحه نمایش اطلاعات index.aspx هست و نمایش عکس personal.aspx شما باید توی index.aspx یه تگ img بزاری و مسیر personal رو بهش بدی.
یعنی توی index بزاری :




<img src='personal.aspx'/>


موفق باشید