نحوه ذخیره عکس در database
سلام دوستان
می خواستم یه پروژه ایجاد کنم که کاربر عکس انتخاب کنه ان عکس تو pictur box لود بشه و کاربر بتونه ادرس ان را در database ذخیره کنه خود عکس هم در شاخه ای در پروژه بشینه لطفا اگه کسی این کار را تا حالا انجام داده نمونه پروژه ان را برام بذاره یا اینکه بگه باید چی کار کنم . در ضمن در asp.net می دونم این کار به چه شکل هست اما در ویندوز و در C# می خواهم این کار را انجام بدهم
نقل قول: نحوه ذخیره عکس در database
سلام دوست عزیز
به نظر من این کارتون درست نیست چون ممکن است اون فولدر که قراره عکس هاتون توی اون ذخیره شن پاک بشه یا یه عکسی هم نام اون عکساتون جایگذین بشه که قطعا جوابی که بدست میاد اشتباه است یعنی ممکنه عکسی خالف انتظارتون نشون بده
اگه عکساتون را به صورت بایت در بانک اطلاعاتی ذخیره کنی مطمئن تر هستید
موفق باشید
1 ضمیمه
نقل قول: نحوه ذخیره عکس در database
درود بر شما
نمونه ذخیره مسیر تصویر در دیتابیس sql
نقل قول: نحوه ذخیره عکس در database
سلام دوست عزیز خیلی از تون ممنونم .به نظر شما بهترین روش برای ذخیره سازی عکس همین روش هست دیگه چون خیلی ها میگن خوده عکس را ذخیره کن خیلی ها میگن ادرس ان را ذخیره کن اگه میشه اینم جواب بدید .
نقل قول: نحوه ذخیره عکس در database
سلام دوست عزیز
تمام نکاتی که دوستان گفتند صحیح و قابل اجرا است اما هیچ گونه کمبودی توی ذخیره آدرس فایل توی دیتابیس نیست چون می تونی فایلت را غیر قابل تغییرش کنی
انتخا روش انجام کار با خودت هستش
موفق باشی
نقل قول: نحوه ذخیره عکس در database
از کلاس MemoryStream می تونی استفاده کنی روش خوبیه
نقل قول: نحوه ذخیره عکس در database
سلام وشرمنده که مزاحم شدم من از روشی که گفته شد رفتم اما خطا صادر می کنه
A generic error occurred in GDI+.
هر چه قدر هم جستجو کردم به جایی نریسیدم
اگه ممکنه کمکم کنید
نقل قول: نحوه ذخیره عکس در database
از کدام روش؟
ذخیره خود عکس
یا ذخیره آدرس فایل عکس
نقل قول: نحوه ذخیره عکس در database
نحوه لود عکس ونمایش در picturebox
//بارگذاری عکس از فایل
private void butpic_Click(object sender, EventArgs e)
{
ofd.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.*";
ofd.Title = "انتخاب تصویر";
if (ofd.ShowDialog() == DialogResult.OK)
{
try{
bmp = new Bitmap(ofd.FileName);
if (bmp.Size.Height <= 172 || bmp.Size.Width <= 130)
{
picbox.Image = Image.FromFile(ofd.FileName);
adr_bmp = ofd.FileName;
txtfilepic.Text = adr_bmp;
}
else
{
MessageBox.Show(" سایز عکس صحیح نمی باشد حداکثر سایز عکس 129, 171 می باشد");
}
}
catch (Exception)
{
MessageBox.Show("فايل وارد شده فايل تصويري نميباشد");
return;
}
}
}
برای ذخیره عکس به صورت باینری در پایگاه داده به صورت زیر عمل می کنید
tblPersonal person = new tblPersonal();
MemoryStream ms = new MemoryStream();
picbox.Image.Save(ms, picbox.Image.RawFormat);
byte[] arrpic = ms.GetBuffer();
ms.Close();
person.Pic = arrpic;
db.tblPersonals.InsertOnSubmit(person);
db.SubmitChanges();
اگر بخواهید آدرس عکس را ذخیره کنید
به جای arrpic مقدار زیر را ذخیره می کنیم که به صورت رشته می باشد.
person.Pic = ofd.FileName;
نقل قول: نحوه ذخیره عکس در database
نقل قول:
نوشته شده توسط
mehrdadpaknejad
سلام دوست عزیز خیلی از تون ممنونم .به نظر شما بهترین روش برای ذخیره سازی عکس همین روش هست دیگه چون خیلی ها میگن خوده عکس را ذخیره کن خیلی ها میگن ادرس ان را ذخیره کن اگه میشه اینم جواب بدید .
درود بر شما
این روش که مسیر فایل تصویر رو در دیتابیس ذخیره کنین فکر کنم دیگه خیلی قدیمی شده
جایی که برنامه شما دیتابیس به این قدرتمندی داره که می تونه با یه تعداد حجم بالا تصویر در خود ذخیره کنه
دیگه که نیازی به این کارها داره
البته امیدوارم بدتون نیاد شما با این کار مثل اینه که لقمه رو دور سرتون بچرخونین وتوی دهنتون بگذارین :لبخند:
حالا به هر ترتیب باز نظر شما شرطه
نقل قول: نحوه ذخیره عکس در database
از ذخیره ادرس عکس رفتم خطا صادر می کنه
نقل قول: نحوه ذخیره عکس در database
دوست عزیز سلام ممنون که جواب دادین من از کد شما استفاده کردم و از طریق ذخیره ادرس عکس رفتم اما یه مشکلی هست
زمتنی که ادرس را از ofd میگیریم ادرس جاری عکس را ب ما می ده در صورتی که بعد از اینکه ما ذخیره کردیم در فلان پوشه پروژه خودمون ادرس تغییر کرده و برای نمایش دوباره عکس با مشکل مواجه خواهیم شد . نظرت چیه ؟؟
نقل قول: نحوه ذخیره عکس در database
نقل قول:
نوشته شده توسط
mehrdadpaknejad
دوست عزیز سلام ممنون که جواب دادین من از کد شما استفاده کردم و از طریق ذخیره ادرس عکس رفتم اما یه مشکلی هست
زمتنی که ادرس را از ofd میگیریم ادرس جاری عکس را ب ما می ده در صورتی که بعد از اینکه ما ذخیره کردیم در فلان پوشه پروژه خودمون ادرس تغییر کرده و برای نمایش دوباره عکس با مشکل مواجه خواهیم شد . نظرت چیه ؟؟
با سلام
خیلی ساده است
اگه به اون مثالی که من براتون ارسال کرده ام تجه کرده باشین در هنگام ذخیره مسیر ما ابتدا می آییم مسیر جاری عکس رو به دیتابیس می فرستیم وآخر دستورات دکمه save با یک استریم یک کپی از خود عکس رو هم به پوشه imageدر پوشه bin میفرستیم
حال اگه قرارباشه بیاییم قضیه رو برعکس بکنیم ابتدا کپی عکس رو به اون پوشه بفرستیم وبعد آدرس رو ذخیره بکنیم :لبخند: خوب چیز خنده داری می شه
یعنی همه مسیر های ذخیره شده در دیتابیس بیش از یکی نمی شه
نقل قول: نحوه ذخیره عکس در database
نقل قول:
نوشته شده توسط
mehrdadpaknejad
سلام دوستان
می خواستم یه پروژه ایجاد کنم که کاربر عکس انتخاب کنه ان عکس تو pictur box لود بشه و کاربر بتونه ادرس ان را در database ذخیره کنه خود عکس هم در شاخه ای در پروژه بشینه لطفا اگه کسی این کار را تا حالا انجام داده نمونه پروژه ان را برام بذاره یا اینکه بگه باید چی کار کنم . در ضمن در asp.net می دونم این کار به چه شکل هست اما در ویندوز و در C# می خواهم این کار را انجام بدهم
لینک ذخیره عکس در اس کیو ال
http://alexmcse.blogsky.com/
1 ضمیمه
نقل قول: نحوه ذخیره عکس در database
نقل قول:
نوشته شده توسط
khokhan
درود بر شما
نمونه ذخیره مسیر تصویر در دیتابیس sql
دوست عزیز ممنون. ولی ببخشید که اینجا سوالم رو می پرسم. مخصوصا از کسی که این تاپیک رو زده:لبخند:
ببینید بنده می خوام برنامه شما رو با این برنامه تلفیق کنم.
یعنی اینکه بتونم هر چنتا عکس که می خوام به datagrid اضافه کنم و بعد که دکمه ذخیره رو زدم مثل برنامه شما اون رو ذخیره کنه. می خواستم ببینم چه جوریه؟؟؟؟؟؟؟؟؟؟؟
بعد می خواستم بدونم چه جوری میشه تنظیم کنم که این عکس هایی که داره با هم آپلود میشه همگی برای یک مورد باشه. برای مثال یه ستون باشه که بشه یه عدد خاصی ( مثلا 1 ) رو به 10 تا عکسی که با هم آپلود میشن قرار بدیم.؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟
نقل قول: نحوه ذخیره عکس در database
دوست عزیز این کار با شیوه ذخیره مسیر فایل امکان پذیر نیست البته هست اما چیز خوبی از کار در نمی آد
بهتره به فکر ذخیره فایل در داخل دیتابیس باشین با حداقل 5 تا ستون
1- آی دی 2- گروه یا همون کتگوری 3 - کدشناسایی گروه 4 -تصویر (که با توجه به ورژن sql تون نوع ستون رومشخص می کنین )
اگه کد گروه رو به عنوان کلید در نظر بگیرین با انتخاب اون می تونین عکساتون رو فیلتر کنین
نقل قول: نحوه ذخیره عکس در database
//بارگذاری عکس از فایل
private void butpic_Click(object sender, EventArgs e)
{
ofd.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.*";
ofd.Title = "انتخاب تصویر";
if (ofd.ShowDialog() == DialogResult.OK)
{
try{
bmp = new Bitmap(ofd.FileName);
if (bmp.Size.Height <= 172 || bmp.Size.Width <= 130)
{
picbox.Image = Image.FromFile(ofd.FileName);
adr_bmp = ofd.FileName;
txtfilepic.Text = adr_bmp;
}
else
{
MessageBox.Show(" سایز عکس صحیح نمی باشد حداکثر سایز عکس 129, 171 می باشد");
}
}
catch (Exception)
{
MessageBox.Show("فايل وارد شده فايل تصويري نميباشد");
return;
}
}
}
این کد را بزنید سر در انجمن دورشم یک قاب بگیرید تا حالا ۱۰۰ بار این سوال را پرسیدند.
نقل قول: نحوه ذخیره عکس در database
دوست عزیز مسیر همشون یکی بشه اما نام ها که یکی نیست بر اساس نام عکس می گرده پیدا می کنه و لود می کنه.