PDA

View Full Version : نمایش عکس کاربر هنگام لاگین شدن



maryam145
یک شنبه 11 مرداد 1394, 13:13 عصر
سلام دوستان خسته نباشین من ی صفحه لاگین طراحی کردم میخوام وقتی کاربر میاد لاگین میکنه عکسی ک تو دیتابیس ذخیره شده رو نشون بده کد ذخیره عکس و با linq نوشتم ولی کد نمایش عکس کاربر و موندم چطوری باید بگم که عکس کاربری که وارد شده رو نشون بده ؟؟؟

LostOfMind
یک شنبه 11 مرداد 1394, 14:18 عصر
از پروفایل استفاده کن

imgAvatar.ImageUrl = string.Format("~/Image/{0}", Profile.Avatar);

موقعی که آنلاین مییشه عکس رو از پروفایل میخونه

keiv@n
یک شنبه 11 مرداد 1394, 14:27 عصر
مسیر عکس ذخیره کردی یا باینری عکسو؟

maryam145
یک شنبه 11 مرداد 1394, 15:23 عصر
ممنون ک وقت گذاشتین و راهنمایی میکنین ؟مسیر عکس و ذخیره کردم اینم کدهای ذخیره عکسم هستند :
if (FileUpload1.HasFile)
{
string strname = FileUpload1.FileName.ToString();
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/Images/") + strname);
us.Image = strname;
db.Users.InsertOnSubmit(us);
db.SubmitChanges();
HttpContext.Current.Session.Add("strnam", strname);
Label1.Text = "عکس با موفقیت ذخیره شد";
}
else
{
Label1.Visible = true;
Label1.Text = "لطفا عکس را آپلود نمایید ";
db.SubmitChanges();

}

omid nasri
یک شنبه 11 مرداد 1394, 16:29 عصر
اینم جواب سوال شما :
http://www.aspsnippets.com/Articles/Display-image-from-database-in-Image-control-without-using-Generic-Handler-in-ASPNet.aspx

http://www.aspsnippets.com/Articles/Display-Images-from-SQL-Server-Database-using-ASP.Net.aspx

مطما باش هر وقت سوال برای شما پیش امد، قبلا جواب داده شده فقط یک سرج لازم هستش.

maryam145
یک شنبه 11 مرداد 1394, 16:45 عصر
ممنون از راهنمایی تون ولی دوست عزیز من با Linq ارتباط برقرار کردم اینا با sqlconnection هست و نه مسیر عکس ؟؟

omid nasri
یک شنبه 11 مرداد 1394, 17:13 عصر
این رو نگاه کنید :


https://www.google.com/search?q=asp+read+image+from+database+with+link&ie=&oe=#q=asp+read+image+from+database+with+linq

maryam145
یک شنبه 11 مرداد 1394, 17:28 عصر
ممنون از راهنمایی تون دارم بررسی میکنم

omid nasri
دوشنبه 12 مرداد 1394, 00:26 صبح
مورد حل شد!!!! من خودم معماری mvc کار کردم، اگر شما هم با این معماری کار میکنید می تونم کد رو در اختبار شما قرار بدم در صورتی که به جواب نرسیدید.

پیام حیاتی
دوشنبه 12 مرداد 1394, 02:46 صبح
سلام دوستان خسته نباشین من ی صفحه لاگین طراحی کردم میخوام وقتی کاربر میاد لاگین میکنه عکسی ک تو دیتابیس ذخیره شده رو نشون بده کد ذخیره عکس و با linq نوشتم ولی کد نمایش عکس کاربر و موندم چطوری باید بگم که عکس کاربری که وارد شده رو نشون بده ؟؟؟

سلام
مثال (http://www.aspsnippets.com/Articles/Upload-images-to-folder-and-display-uploaded-images-in-ASPNet-GridView-using-C-and-VBNet.aspx).

maryam145
دوشنبه 19 مرداد 1394, 09:13 صبح
ممنون از راهنمایی تون تونستم عکسو ذخیره کنم ولی برای نمایش به مشکل برخوردم هنوز این مثال هایی که گفتین گریدویو هست من میخوام تو کنترل image نشون بده و براساس یوزر کاربر؟؟؟؟؟؟؟؟؟؟

LostOfMind
دوشنبه 19 مرداد 1394, 09:48 صبح
ابتدا داخل فایل web.config پراپرتی های پروفایل رو ایجاد کنید مانند زیر:

<profile enabled="true" automaticSaveEnabled="false">
<properties>
<group name="Personal">
<add name="Avatar" />
</group>
</properties>
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
</providers>
</profile>


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

کنترل Image برای نمایش تصویر کاربر
کنترل FileUpload برای انتخاب تصویر
کنترل Button برای ذخیره تصویر در پروفایل

نمونه:


<table style="width: 100%; font-family: tahoma; font-size: 8pt;">
<tr>
<td style="width: 100px">تصویر:&nbsp;</td>
<td>
<asp:Image ID="Image1" runat="server" Height="135px" Width="111px" />
</td>
</tr>
<tr>
<td style="width: 100px">انتخاب تصویر :</td>
<td>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="btnSaveImage" runat="server" OnClick="btnSaveImage_Click" Text="ذخیره تصویر" />
</td>
</tr>
<tr>
<td style="width: 100px">&nbsp;</td>
<td>
<asp:Label ID="lblMsg" runat="server" ForeColor="Red"></asp:Label>
</td>
</tr>
</table>


در CodeBehind کد های زیر رو بنویسید
ابتدا پراپرتی زیر را تعریف کنید:

public string ImageUrl { get; set; }

تابع زیر را برای نمایش تصویر کاربر در Page_Load فراخوانی کنید:

private void ShowProfile()
{
if (HttpContext.Current.User.Identity.IsAuthenticated )
Image1.ImageUrl = string.Format(@"~/Users/{0}", Profile.Personal.Avatar);
}


Page_Load:


protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ShowProfile();
}
}


برای ذخیره تصویر کاربر در پروفایل از کد زیر استفاده کنید:


protected void btnSaveImage_Click(object sender, EventArgs e)
{
if (HttpContext.Current.User.Identity.IsAuthenticated )
{
if (FileUpload1.HasFile)
{
string path = @"~/Users/";
if (File.Exists(Server.MapPath(@"~/Users/" + Profile.Personal.Avatar)))
File.Delete(Server.MapPath(@"~/Users/" + Profile.Personal.Avatar));
//Get Web Path
path = HttpContext.Current.Server.MapPath(path);
String[] validext = { ".jpg", ".gif", ".png", ".jpeg" };
string ext = System.IO.Path.GetExtension(FileUpload1.PostedFile .FileName);
if (Array.IndexOf(validext, ext.ToLower()) < 0)
{
string Msg = "تصویر ارسال شده باید یکی از انواع مشخص شده باشد";
ScriptManager.RegisterStartupScript(Page, typeof(Page), "Alert", "<script>alert('" + Msg + "');</script>", false);
return;
}
//Get and Check File Size
long size = FileUpload1.PostedFile.ContentLength;
size = size / 1024;
if (size > 500)
{
lblMsg.Text = "حداکثر اندازه مجاز برای تصویر 500 کیلوبایت می باشد";
return;
}
//Get FileName
ImageUrl = HttpContext.Current.User.Identity.Name + ext;
FileUpload1.SaveAs(path + ImageUrl);
}
Profile.Personal.Avatar = ImageUrl;
Profile.Save();
ShowProfile();
lblMsg.ForeColor = System.Drawing.Color.Green;
lblMsg.Text = "با موفقیت ذخیره شد";
}
}


اگه با Profile در ASP.NET آشنا باشید هر کاربر پروفایل مخصوص به خودش را دارد
در صورتی که تعیین هویت شده باشد تصویر مربوط به خودش را که آپلود کرده است نمایش داده می شود
سئوالی بود در خدمتم

maryam145
دوشنبه 19 مرداد 1394, 10:32 صبح
ممنونم از وقتی ک گذاشتین و این کدها رو برام نوشتین حتما بررسی میکنم و نتیجه رو اعلام میکنم فقط قبل از نوشتن کدها من با پروفایل آشنایی ندارم و نحوه ثبت نام و لاگین هم به صورت معمولی تکس باکس و کدنویسی linq هست از این روش برای ذخیره تصویرم استفاده کنم مشکلی نداره ؟

LostOfMind
دوشنبه 19 مرداد 1394, 11:07 صبح
ممنونم از وقتی ک گذاشتین و این کدها رو برام نوشتین حتما بررسی میکنم و نتیجه رو اعلام میکنم فقط قبل از نوشتن کدها من با پروفایل آشنایی ندارم و نحوه ثبت نام و لاگین هم به صورت معمولی تکس باکس و کدنویسی linq هست از این روش برای ذخیره تصویرم استفاده کنم مشکلی نداره ؟

شروع استفاده از عضویت،نقشها و پروفایل در .net (http://astanweb.ir/article.aspx?id=1062)آشنایی با Profile در ASP.NET (http://astanweb.ir/article.aspx?id=1063)

maryam145
دوشنبه 19 مرداد 1394, 11:57 صبح
ممنون سر میزنم ولی با این روش باید کلا کدها رو از نو بنویسم به هرحال ممنون از راهنمایی تون

LostOfMind
دوشنبه 19 مرداد 1394, 15:32 عصر
ممنون سر میزنم ولی با این روش باید کلا کدها رو از نو بنویسم به هرحال ممنون از راهنمایی تون

من یه نمونه مثال براتون گزاشتم البته بدون استفاده از پروفایل.

خیلی ساده ست فقط خواستم نحوه آپلود و نمایش تصویر رو بر اساس نام کاربری نشون بدم

البته با Entity Framewirk نوشتم صرفا نمایش و ذخیره اطلاعاته و چیزی بخصوصی نداره

دو تا جدول در بانک اطلاعتیمون داریم یکی برای کاربرا (Person) و دیگری برای تصویر کاربر (Avatar)
نام کاربری جدول Person در جدول Avatar هم وجود داره که بر اساس اون تصویر رو بخونیم (ارتباط جداول) البته من این دو جدول رو بهم مرتبط نکردم.

اگر سئوالی بود در خدمتم

فایل رو ضمیمه کردم

http://astanweb.ir/files/file/1394/Avatars.zip


تنظیمات Connectionstring رو بر اساس سیستم خودتون تنظیم کنید

maryam145
دوشنبه 19 مرداد 1394, 16:47 عصر
ممنونم بررسی میکنم