PDA

View Full Version : ذخیره عکس در sql server با استفاده از fileupload



elham1611
سه شنبه 06 فروردین 1392, 02:32 صبح
با سلام
من میخوام در Gridview عکس هر کاربر هم کنار مشخصاتش باشه واسه همین باید عکس رو در database ذخیره کنم.
راهی هست که با استفاده از file upload که به نظرم ساده میاد این عکس رو دخیره کرد؟

mmd2009
سه شنبه 06 فروردین 1392, 02:49 صبح
با سلام

اگر منظورتون اینه که ادرس عکس رو ذخیره بکنید خب این کار به صرفه تر هم هست ولی خب یک راه ساده ترم اینه که در یک پوشه نام عکس هر کاربر برابر باشه با نام کاربری اون ، دیگه اینطوری نیازی نیست حتما یک ستون براش داشته باشید تو بانک ولی خب در کل این فقط یک پیشنهاد بود. اگر شما عکسهای کاربران رو در یک مسیر ذخیره می کنید و همچنین اون مسیر رو در بانک ذخیره میکنید برای نمایش عکس هر کاربر در گرید ویو شما نیاز دارید به یک ستون از نوع Image Filed درست بکنید که نام ( DataImageUrlField ) این ستون باید دقیقا برابر باشه با نامی که تو ستون های جدول بانک اطلاعیتون هست ، خب دیگه اینطوری عکس رو براتون نمایش میده
حالا کافیه یک Select بزنید و عکس ها و اسامی کاربران رو ببینید

موفق باشید

پ ن : حتما مسائل امنیتی رو رعایت بکنید

jigily
سه شنبه 06 فروردین 1392, 10:17 صبح
یک fileupload و یک button باید برای ذخیره عکس داشته باشی و با کیلیک روی button
این کد بنویس

try
{
string dir = Server.MapPath(".") + "\\images\\";
//چک کردن پسوند فایل
string[] extention = { ".jpg", ".png", ".gif" };
string fileextention = System.IO.Path.GetExtension(FileUpload1.PostedFile .FileName);
if (Array.IndexOf(extention, fileextention.ToLower()) < 0)
{
lblUpladMS.Text = "فایل شما معتبر نیست";
return;
}
//چک کردن سایز فایل
//long size = FileUpload1.PostedFile.ContentLength;
//size = size / 1024;
//if (size > 4000)
//{
// lblUpladMS.Text = "فایل باید کوچکتر از چهار مگابایت باشد";
// return;
//}
//تعیین اینکه آیا قبلا فایلی با این نام وجود داشته یا نه
string name = System.IO.Path.GetFileName(FileUpload1.PostedFile. FileName);
if (System.IO.File.Exists(dir + "\\" + name))
{
string tempName = name;
int i = 0;
while (System.IO.File.Exists(dir + "\\" + tempName))
{
i++;
tempName = "(" + i.ToString() + ")" + tempName;
}
name = "(" + i.ToString() + ")" + name;
}
//تعیین نوع حقیقی فایل
string filetype = FileUpload1.PostedFile.ContentType.ToString();
if (filetype == "image/x-png" || filetype == "image/gif" || filetype == "image/pjpeg")
{
FileUpload1.PostedFile.SaveAs(dir + name);
InsertImageDataContext ImageAdd = new InsertImageDataContext();
Image Query = new Image();
Query.ImageName = name;
Query.ImageUrl = "~/images/" + name;
ImageAdd.Images.InsertOnSubmit(Query);
ImageAdd.SubmitChanges();
lblUpladMS.Text = "فایل با موفقیت بر روی سرور انتقال یافت";
}
}
catch
{
lblUpladMS.Text = "در آپلود فایل خطایی رخ داده است لطفا دوباره تلاش کنید";
}