PDA

View Full Version : سوال: نحوه اضافه کردن عکس به پایگاه توسط کاربر



Milad_ATM
جمعه 20 فروردین 1389, 21:32 عصر
سلام.
1-چطور میشه توسط کاربر یه عکس به پایگاه اضافه کرد؟
2-چطور میشه به صورت دستی به پایگه عکس اضافه کرد

Mostafa_Dindar
جمعه 20 فروردین 1389, 21:55 عصر
سلام.
1-چطور میشه توسط کاربر یه عکس به پایگاه اضافه کرد؟
2-چطور میشه به صورت دستی به پایگه عکس اضافه کرد

سلام ،

منظورتون اينه كه چطور عكس رو به صورت باينري در ديتابيس ذخيره كنيد ؟

توسط كاربر و دستي !؟ من متوجه نشدم . واضح تر بگيد .


موفق باشيد .

k.asasi_programmer
شنبه 21 فروردین 1389, 01:23 صبح
سلام.
1-چطور میشه توسط کاربر یه عکس به پایگاه اضافه کرد؟
2-چطور میشه به صورت دستی به پایگه عکس اضافه کرد

با سلام خدمت دوست عزیز من. در جواب سوال اولتان به شما پیشنهاد میکنم که به جای ریحتن مستقیم عکس در دیتابیس یک پوشه(Folder) در سایتتان ایجاد نمایید و سپس عکسهایتان را در این پوشه ذخیره کرده و در نهایت آدرس عکس را در دیتابیس ذخیره نمایید. چون در این حالت دیتابیس سریعی خواهید داشت. :متفکر:
موفق باشید.

General-Xenon
شنبه 21 فروردین 1389, 11:11 صبح
سلام علیکم.....

برای ذخیره عکس در دیتابیس....یک فیلد از نوع image لازم دارید



if (tpic.HasFile == true && tpic.FileBytes.Length < 30000 && System.IO.Path.GetExtension(tpic.FileName).ToLower () == ".jpg")
{
SqlConnection CN16654 = new SqlConnection("Connection");
try
{
SqlCommand CMD3216 = new SqlCommand("INSERT INTO [TB0001]([PHOTO])VALUES(@P)", CN16654);
CMD3216.Parameters.Add("@P", SqlDbType.Image).Value = tpic.FileBytes; //tpic = file upload
if (CN16654.State != ConnectionState.Open) CN16654.Open();
CMD3216.ExecuteNonQuery();
}
catch { LBLStatus.Text = "انجام نشد"; }
finally
{
CN16654.Close();
LBLStatus.Text = "انجام شد";
}
}else{ LBLStatus.Text = "عکس ارسالی قابل قبول نیست"; }

z_bluestar
شنبه 21 فروردین 1389, 11:44 صبح
با سلام خدمت دوست عزیز من. در جواب سوال اولتان به شما پیشنهاد میکنم که به جای ریحتن مستقیم عکس در دیتابیس یک پوشه(Folder) در سایتتان ایجاد نمایید و سپس عکسهایتان را در این پوشه ذخیره کرده و در نهایت آدرس عکس را در دیتابیس ذخیره نمایید. چون در این حالت دیتابیس سریعی خواهید داشت. :متفکر:
موفق باشید.

منم با اين دوستمون موافقم و براي اين كـارها هم مي توانيد از كنترل FileUpload استفاده كنيد . و آدرس URL عكس رو در Database ذخيره كنيد .
اگه search كنيد مطلب زياد پيدا مي كنيد در اين سايت .

string PhicycalPath = Server.MapPath("YOUR IMAGE FOLDER");
string Filename = System.IO.Path.GetFileName(FileUpload1.PostedFile. FileName);
string FileExtension = System.IO.Path.GetExtension(FileUpload1.PostedFile .FileName);

//you can use this for save in data base
string ImageURL = "YOUR IMAGE FOLDER/" + Filename;

if ((FileExtension == ".jpg") || (FileExtension == ".gif") || (FileExtension == ".bmp") || (FileExtension == ".JPG") || (FileExtension == ".GIF") || (FileExtension == ".BMP"))
{
string PathtoSave = PhicycalPath + "//" + Filename;
FileUpload1.PostedFile.SaveAs(PathtoSave);
}

a_mari323
یک شنبه 22 فروردین 1389, 16:43 عصر
سلام . به نظر من هم بهتره آدرس عکس رو در پایگاه داده ذخیره کنی .
از File upload هم برای گرفتن url استفاده کن :


imgs = "~/Content/Upload/Masters/{0}-{2}-{3}{1}";

imgs = string.Format(imgs, MemberID, System.IO.Path.GetExtension(upImage.FileName), System.IO.Path.GetFileNameWithoutExtension(upImage .FileName), masterType);

upImage.SaveAs(MapPath(imgs));[/LEFT]

aminghaderi
یک شنبه 22 فروردین 1389, 19:38 عصر
من با نظر دوستان کمی مخالفم!!
هر دو روش چایگاه و بحث خودش رو داره؟! و بسته به کار شما داره.
اگه قراره یه سری عکس منظره و ... (شخصی نباشه) و دیدنش برای عام مشکلی نداشته باشه رو ذخیره کنی ، خوب به قول دوستان بهترین کار ذخیره آدرس عکس هست ، ولی اگر می خوای یه سری عکس های شخصی ، که دسترسیش نباید برای عام باشه رو ذخیره کنی ، خوب بهترین روش به نظر من ذخیره خود عکس در پایگاه هست ، که با دادن یه ادرس مجازی به عکس امکان دسترسی غیر مجاز به طرز چشمگیر پایین می یاد ، حالا دوستانی که هک بلد هستند ، بهتر می تونند راهنمایی کنند.
روش ذخیره در دیتابیش حد اقلش اینه که موتور های جستو نمی توانند ، عکس و ادرسش رو ایندکس کنند و هم اینکه بدلیل عدم وجود مکان ثابت و قابل دسترس ، دست کاربرانی که به صورت غیر مجاز قصد برداشتم فایل های عکس هاست شما رو دارند ، کوتاه خواهد شد.
موفق باشید.

Peyman.Gh
یک شنبه 22 فروردین 1389, 19:57 عصر
@ Milad_ATM :
این هم نگاه کنید شاید کمکت کنه : http://barnamenevis.org/forum/showpost.php?p=880243&postcount=6

دوستمون aminghaderi (http://barnamenevis.org/forum/member.php?u=91679) درست میگن شاید نخواهیم کسانی به عکس ها دسترسی داشته باشند.
اما من پیشنهاد میدهم که پسوند فایل ها را تغییر دهیم مثلاً به ascx که برای IIS شناخته شده میباشد.
و موقع فراخوانی به حالت اول برگردد.