مشاهده نسخه کامل
: سئوال درباره detailsview
سلام.
من مي خوام با detailsview اطلاعات رو به همراه عكس در ديتا بيس ذخيره كنم و تو gridview نمايش بدم.حالا احتياج به يك دكمه browse دارم كه براي ذخيره يك عكس جديد يا ويرايشش لازم دارم.بلد نيستم چي كار كنم.ضمنا سرچ هم كردم.
یه چیز کلی بگم اول اگر تعداد و حجم عکس ها زیاده پیشنهاد میکنم عکس رو تو دیتا بیس ذخیره نکنی .
ولی برای اپلود عکس در دیتا بیس در web از کنترل FileUpload استفاده کن تو ویندوز app از FileDialog . یه ستون از نوع Binary یا Varbinary تو دیتا بیس بساز عکس رو اونتو ذخیره کن بد نیست حجم عکس رو هم ذخیره کنی اگر Mime های مختلف داری نوع عکس رو هم ذخیره کن (تو قسمت ذخیره اگر مشکلی داری بگو تا بیشتر توضیح بدم) .
برای خوندن اطلاعات عکس هم بهتره از DataReader استفاده کنی فقط نکتش اینه که وقتی با DataReader اطلاعات از نوع Binary رو میخونی باید همونجا اونو به Byte تبدیل کنی با TryCast میتونی این کار رو بکینی بعد Header و نوع و حجم رو به عکس اضافه کن .
این خلاصش بود .
Ultimator
25-05-2008, 13:39
سلام
بهتره شما فایل رو آپلود کنید و فقط ادرس عکس رو تو بانک ذخیره کنید . . .
سلام .ممنون ، ولي خلاصه نگيد .من تازه به جمع تازه كارها وارد شدم.تقريبا تو آپلود مشكلي ندارم(فكر كنم).مشكل اينه كه براي ذخيره كردن عكس يك دكمه browse ميخوام كه عكسمو اول پيدا كنم و بعد آدرس عكسو ذخيره كنم.(نمي دونم خوب مفهوم سئوالمو رسوندم يا نه )حالا اين دكمه رو نمي دونم چجوري تو detailsview بذارم .
سلام.
من از خير detailsview گذشتم،چون به نتيجه نرسيد.حالا به صورت معمولي مي خوام يك عكس رو در ديتابيس ذخيره كنم.براي ذخيره هم از اين توابع استفاده كردم.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
فكر نكنم مشكلي داشته باشن.در آخر هم اطلاعات رو تو gridview نمايش دادم .حالا مشكل اينجاست كه تو ستون img_data به جاي تصوير [ ]System.Byte نشون مي ده.چرا؟
خوب شما Binary ذخیره کردی Binary بر میگردونی , باید Binary رو داخل یه فایل بریزی و به Byte تبدیل کنی بعد اون فایل رو نمایش بدی .
بهترین راه اینه که یه صفحه درست کنی یا یک web handler اسمش رو بزاری مثلا Image بعد عکس رو تو اون صفحه Response کنی بعد به ادرس اون صفحه رو به عنوان عکس بفرستی .
سعی میکنم کدش رو برات بزارم .
لطفا كدش رو بذاريد.البته مثل اينكه با اين روش يعني به صورت باينري ذخيره كردن فقط پسوند bmp رو جواب ميده.
Ultimator
28-05-2008, 08:55
فکر کنم این نمونه بد نباشه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
لطفا كدش رو بذاريد.البته مثل اينكه با اين روش يعني به صورت باينري ذخيره كردن فقط پسوند bmp رو جواب ميده.
نه ربطی نداره هر پسوندی میشه من این کدهارو براتون آپلود کردم برای مجموعه های LearnVisualStusio.Net هست Insert و Read رو جفتش رو داشت البته فیلمم داره ولی حجمش خیلی زیاده نمیتونم آپلود کنم این کارتون رو راه میندازه . البته هنوزم توصیه میکنم اگر تو دیتا بیس ذخیره نکنین شاید بهتر باشه .
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
Ultimator
28-05-2008, 17:28
براکت خان مثالتون رو نتونستم دانلود کنم رپید یکم دلپیچه گرفته !!
اما فکر کنم اون کدی که بالا نقل کردم ( از استاد h2 ) کار رو راه بندازه
همینطور شرمنده حواسم نبود که کد سی شارپ مورد نیازتونه گرچه فرقی نداره اما این هم نمونه #C
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
من دانلود كردم .مشكلي نداشت.
Ultimator
30-05-2008, 08:58
احتمالا بله مشکلی نداره ولی رپیذشر با من قهره سر به سرم میذاره !
سلام.
اينكه گفتيد فقط آدرس عكس رو ذخيره كنم،من اينكارو كردم:
اول تو sql server نوع ستون عكس رو varchar كردم.بعد هم تو دستور sqlcommand مثلا همچين كدي گذاشتم
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
كه اسم عكس رو ذخيره مي كنه.براي نمايش عكس در گريد ويو هم از طريق gridview tasks يك imagefield ساختم و DataImageUrlField رو برابر همون ستون image قرار دادم.dataimageurlformatstring رو هم آدرس پوشه اي كه عكسام هست كردم .مثلا :
G:\\Documents and Settings\\My Documents\\My Pictures\\{0}.jpg
اينا درسته يا نه؟اگه درست نيست لطفا روش درستشو بگين اگر هم هست پس چرا عكسها رو تو gridview نشون نمي ده؟
خوب دوست عزیز عکس ها رو با چه اسمی ذخیره میکنی ؟
Ultimator
02-06-2008, 11:20
سلام.
اينكه گفتيد فقط آدرس عكس رو ذخيره كنم،من اينكارو كردم:
اول تو sql server نوع ستون عكس رو varchar كردم.بعد هم تو دستور sqlcommand مثلا همچين كدي گذاشتم
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
كه اسم عكس رو ذخيره مي كنه.براي نمايش عكس در گريد ويو هم از طريق gridview tasks يك imagefield ساختم و DataImageUrlField رو برابر همون ستون image قرار دادم.dataimageurlformatstring رو هم آدرس پوشه اي كه عكسام هست كردم .مثلا :
G:\\Documents and Settings\\My Documents\\My Pictures\\{0}.jpg
اينا درسته يا نه؟اگه درست نيست لطفا روش درستشو بگين اگر هم هست پس چرا عكسها رو تو gridview نشون نمي ده؟
نه نه نه
اون فرمت نیازی نیست .
سلام
خوب دوست عزیز عکس ها رو با چه اسمی ذخیره میکنی ؟
(اميدوارم درست متوجه شده باشم)مثلا اگه مشخصات عكسي photo01.jpg باشه،همينم ذخيره مي شه.مشكلش چيه؟
نه نه نه
اون فرمت نیازی نیست .
تا اونجايي كه من فهميدم يا از اون فرمت بايد استفاده كرد يا از Eval ،كه البته هيچ كدومشون جواب ندادن.
Ultimator
03-06-2008, 09:00
این رو به تمپلیت کدتون اضافه کنید :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
تمومه مگه نه ؟
بله تمومه.البته در صورتي كه عكسها هم دقيقا تو مسير صفحه پيش فرض باشن و تو پوشه ديگه اي ذخيره نشده باشن و گرنه جواب نميده و بايد از Eval استفاده كنم.اگه مثلا عكسها رو تو پوشه IMG بريزم دستورش اين ميشه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
درسته ديگه؟ولي نمي دونم چرا جواب نمي ده
Ultimator
03-06-2008, 22:05
نه دیگه اگه url عکس رو درست ذخیره کرده باشید فرمت نیازی نیست
آدرس عکس میشه این : اگه تو روت باشه image.jpg اگه تو پوشه img باشه : img/image.jpg
اگه به این صورت ذخیره شده باشه eval بدون فرمت استرینگ جواب میده
و دیگر هیچ
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.