ذخیره و بازیابی ادرس عکس در دیتا بیس
سلام خدمت همه استادان و دوستان گلم،من توی دیتا بیسم می خولم ادرس عکس رو ذخیره کنم و بعد اونو بازیابی کنم و توی دیتا گرید نمایش بدم ،ضمنا نوع داده ای عکسvarbinry هست،از کسانی ک این2 کد رو میدونند خواهش میکنم اون رو برام بزارن(کد ذخیره ادرس عکس در دیتابیس وکد خوندن اون ادرس و نمایش عکس در دیتا گرید)،دوستان فقط دقت داشته باشید من فقط میخوام مسیر عکس رو ذخیره کنم نه خود اون رو و نوع دادهای من هم VARBINARY هست،ضمنا کد مربوط به ویندوز این کار رو میخوام
نقل قول: ذخیره و بازیابی ادرس عکس در دیتا بیس
دوست عزیز سلام
چرا برای ذخیره آدرس عکس فیلد رو از نوع Varbinary گرفتی ، خوب از نوع Varchar یا Nvarchar بگیر . براحتی هم میشه ذخیره و بازیابی آدرس رو انجام داد .
لطفا دقیقا بگو چی می خوای !!!
در مورد ذخیره و خوندن هم مطمئنن دیگه خودت در اون حالت بلدی چه کار کنی .
نقل قول: ذخیره و بازیابی ادرس عکس در دیتا بیس
برای ذخیره به صورت باینری :
var image = System.Drawing.Image.FromFile(@"C:\my.jpg");
var stream = new System.IO.MemoryStream();
image.Save(stream, image.RawFormat);
var bytes = stream.GetBuffer();
حالا کافیه که مقدار bytes رو وارد دیتابیس کنیم و برای خوندنش هم بر عکس عمل می کنیم :
var bytes = (byte[])dataRow["picture"];
var image = System.Drawing.Image.FromStream(new System.IO.MemoryStream(bytes));
آپدیت : البته برای نشون دادن عکس مثلاً توی picturebox باید از این کد استفاده کرد وگرنه دیتاگرید خودش عکس رو نمایش میده و احتیاجی به این آرتیست بازیا نیست !
نقل قول: ذخیره و بازیابی ادرس عکس در دیتا بیس
using system.IO;
void AddImage(){
openFileDialog o=new openFileDialog();
o.filter="jpeg | *.jpg";
o.title="Select Image";
if(o.showDialog(this)==DialogResult.Ok){
string s=o.FileName;
string t=Path.GetFileNameWithoutExtension(s);
//using mdb access database format
using(OledbConnection cn=new OledbConnection(myConnectionString)){
oledbCommand cmd=new oledbCommand("insert into tblSample (imageAddress,imageName) values(@a,@b)",cn);
oledbParameter ap=new oledbParameter("@a",s);
oledbParameter bp=new oledbParameter("@b",t);
cmd.Parameters.AddRange(new oledbParameter[] {ap,bp});
if(cn.state==ConnectionState.Closed)
cn.open();
cmd.ExecuteNonQuery();}}}
نقل قول: ذخیره و بازیابی ادرس عکس در دیتا بیس
نقل قول:
نوشته شده توسط
seven7777777
دوست عزیز سلام
چرا برای ذخیره آدرس عکس فیلد رو از نوع Varbinary گرفتی ، خوب از نوع Varchar یا Nvarchar بگیر . براحتی هم میشه ذخیره و بازیابی آدرس رو انجام داد .
لطفا دقیقا بگو چی می خوای !!!
در مورد ذخیره و خوندن هم مطمئنن دیگه خودت در اون حالت بلدی چه کار کنی .
سلام،دوست عزیز بینید من نمیخوام خود عکس رو ذخیره کنم،می خوام عکس رو توی یه مکانی ذخیره کنم،بعد ادرس عکس رو بریزم تو دیتا بیس،حالا کد ذخیره کردن و بازیابی اون رو میخوام،ضمنا دیتا گرید هم زمانی که نوع داده ای image هست عکس رو نشون میده،اگر نوع داده ای چیز دیگه ای باشه ،برنامه error سیستمی می ده
نقل قول: ذخیره و بازیابی ادرس عکس در دیتا بیس
من با یه جوابم می فهمما !!!:قهقهه:
آقا من میگم اگه می خوای آدرس عکسو نگه داری چرا varbinary نگه میداری ؟
خوب string نگه دار.
هیچ ربطی هم به 'gridview نداره .
نقل قول: ذخیره و بازیابی ادرس عکس در دیتا بیس
نقل قول:
نوشته شده توسط
HamidNazari
برای ذخیره به صورت باینری :
var image = System.Drawing.Image.FromFile(@"C:\my.jpg");
var stream = new System.IO.MemoryStream();
image.Save(stream, image.RawFormat);
var bytes = stream.GetBuffer();
حالا کافیه که مقدار bytes رو وارد دیتابیس کنیم و برای خوندنش هم بر عکس عمل می کنیم :
var bytes = (byte[])dataRow["picture"];
var image = System.Drawing.Image.FromStream(new System.IO.MemoryStream(bytes));
آپدیت : البته برای نشون دادن عکس مثلاً توی picturebox باید از این کد استفاده کرد وگرنه دیتاگرید خودش عکس رو نمایش میده و احتیاجی به این آرتیست بازیا نیست !
سلام
میتونید از اینکار یه Sample بزارید که این کار رو بکنه؟
با سپاس
1 ضمیمه
نقل قول: ذخیره و بازیابی ادرس عکس در دیتا بیس
اینم یه Sample که آدرس عکس ذخیره شده تو دیتا بیس رو میخوانه و عکس رو تو گرید نمایش میده
:چشمک:
نقل قول: ذخیره و بازیابی ادرس عکس در دیتا بیس
نقل قول:
نوشته شده توسط
saeeedft
سلام،دوست عزیز بینید من نمیخوام خود عکس رو ذخیره کنم،می خوام عکس رو توی یه مکانی ذخیره کنم،بعد ادرس عکس رو بریزم تو دیتا بیس،حالا کد ذخیره کردن و بازیابی اون رو میخوام،ضمنا دیتا گرید هم زمانی که نوع داده ای image هست عکس رو نشون میده،اگر نوع داده ای چیز دیگه ای باشه ،برنامه error سیستمی می ده
void CreateImageFolder(){
if(!DirectoryExists(Application.StartupPath+"\\Ima geFolder"))
Directory.CreateDirectory(Application.StartupPAth+ "\\ImageFolder);)
}
void CopyImage(){
openFileDialog o=new openFileDialog();
o.Filter="Image File | *.jpg";
o.title="Select Image";
if(o.ShowDialog(this)==dialogResult.ok){
string s=Path.GetFileName(o.FileName);
File.Copy(o.FileName, Application.StartupPath+"\\ImageFolder\\"+s,true); }}
//Add Image to data base by using AddImage() from above post!
نقل قول: ذخیره و بازیابی ادرس عکس در دیتا بیس
نقل قول:
نوشته شده توسط
seven7777777
من با یه جوابم می فهمما !!!:قهقهه:
آقا من میگم اگه می خوای آدرس عکسو نگه داری چرا varbinary نگه میداری ؟
خوب string نگه دار.
هیچ ربطی هم به 'gridview نداره .
سلام،اقا ممنون از پیگیریت،حالا شما فرض کن varbinary هم نباشه srting باشه،ایا دیتا گرید زمان بازیابی اونو نشون میده؟
در ضمن شما کد ذخیره ادرس عکس در دیتابیس و بازیابی اون رو اگر برام بذارید ممنون میشم،با فرض اینکه نوع دادهای هم همان stringهست:عصبانی++:
من میخوام عکس توی یه دایرکتوری ایجاد شه،بعد عکسا داخل اون ذخیره بشه،بعد ادرس اون در دیتابیس ذخیره بشه وازطریق این ادرس اون عکس رو بازیابی کنیم و نشون بدم(میدونم که نیاز به این همه توضیح نیست،اما من کاری که میخوام دقیقا همین هست)با یک مثال کد این کار رو برام اگه بذارید ممنون میشم
نقل قول: ذخیره و بازیابی ادرس عکس در دیتا بیس
کسی نبود جواب ما رو بده،ما همچنان منتظریم
نقل قول: ذخیره و بازیابی ادرس عکس در دیتا بیس
سلام من هم همین مشکل را دارم
ولی من این کار را کردم ، فقط می خوام که به صورت شبکه بشه اون مسیر را خوند .
ولی نمی دونم چطور ؟
کمک می کنید ؟
نقل قول: ذخیره و بازیابی ادرس عکس در دیتا بیس
دوست عزيز برين سراغ SQL 2008 و استفاده از FileStream به زودي ماقله اي فارسي در مورد اين نوع DataType جديد و نحوه كار با اون رو Up Load خواهم كرد
نقل قول: ذخیره و بازیابی ادرس عکس در دیتا بیس
FileStream دخيره فايل در يك درايو NTFS به صورت Transactional و FileBaseمي باشد