PDA

View Full Version : سوال: چگونگی ذخیره فایل با فرمت های متفاوت در پایگاه داده sql server



L_eskandary
دوشنبه 24 مرداد 1390, 20:12 عصر
با سلام
من می خوام فایل با فرمت های مختلف رو بتونم توی دیتابیسم ذخیره کنم . البته دو تا مسئله هست :
تو شبکه داخلی قراره از این برنامه استفاده شه خوب منم می خوام فایل های کاربرا تو یه پوشه تو سرور ذخیره شه .
بهتره برا این کار فایل رو ذخیره کنم یا مسیر فایل رو که در این صورت نحوه ذخیره هر کدوم چه جوری هست چطور فایل ار کامپیوتر کاربر روی سرور تو یه مسیر خاص ذخیره شه و یا اینکه نحوه ذخیره فایل توی دیتابیس به چه صورت هست؟
ممنون میشم راهنماییم کنین.
به چند تا sample هم تو google برخوردم ولی نتونست مشکلم رو حل کنه .
اگه sample code هم در زمینه ذخیره و خواندن اطلاعات به این شکل باشه که ممنون میشم attach کنین.

navid_8x
دوشنبه 24 مرداد 1390, 20:22 عصر
این که فایل رو بذاری تو database اصولی نیست و مشکلاته زیادی داره. بهتره فایل رو تو سرور ذخیره کنی و آدرس اونو توی پایگاه داده بگذاری.

L_eskandary
دوشنبه 24 مرداد 1390, 20:27 عصر
این که فایل رو بذاری تو database اصولی نیست و مشکلاته زیادی داره. بهتره فایل رو تو سرور ذخیره کنی و آدرس اونو توی پایگاه داده بگذاری.خوب مشکل من با هر دوتا روش هست من تا حالا تحت وب کار می کردم و خیلی از مشکلاتی که الان دارم رو نداشتم . راستش نحوه ذخیره فایل رو تو سرور و بعد خوندن از اون مسیر رو تو برنامه های تحت دسکتاپ نمی دونم ؟ اگه از دوستان در این زمینه راهنمایی کنن ممنون میشم.

quantomquery
دوشنبه 24 مرداد 1390, 20:34 عصر
این که فایل رو بذاری تو database اصولی نیست و مشکلاته زیادی داره. بهتره فایل رو تو سرور ذخیره کنی و آدرس اونو توی پایگاه داده بگذاری.


سلام
مگه فایل تو دیتابیس باشه امن تر نیست ؟
برنامه تو شبکه هست ، پس نمی شه گفت سرعت خوندن از دیتابیس کمتر از دسترسی به سیستم تو شبکه هست پس چرا این کار اصولی نیست ؟؟

navid_8x
دوشنبه 24 مرداد 1390, 20:53 عصر
سلام
مگه فایل تو دیتابیس باشه امن تر نیست ؟
برنامه تو شبکه هست ، پس نمی شه گفت سرعت خوندن از دیتابیس کمتر از دسترسی به سیستم تو شبکه هست پس چرا این کار اصولی نیست ؟؟

شاید امنیت خوبی داشته باشه اما میزان زیادی از پردازش سرور رو می گیره و پبشنهاد نمی شه و از طرفی حجم دیتابیس بی رویه افزایش پیدا می کنه. حتی سایت های بزرگ هم این کارو نمی کنند. برای حفظ امنیت راه های دیگه ای هم هست

navid_8x
دوشنبه 24 مرداد 1390, 20:55 عصر
خوب مشکل من با هر دوتا روش هست من تا حالا تحت وب کار می کردم و خیلی از مشکلاتی که الان دارم رو نداشتم . راستش نحوه ذخیره فایل رو تو سرور و بعد خوندن از اون مسیر رو تو برنامه های تحت دسکتاپ نمی دونم ؟ اگه از دوستان در این زمینه راهنمایی کنن ممنون میشم.

از چه روشی در سرور استفاده می کنی؟? webapplication? WCF? socket

L_eskandary
دوشنبه 24 مرداد 1390, 21:14 عصر
از چه روشی در سرور استفاده می کنی؟? webapplication? WCF? socket
یه چیزی بگم بهم نخندین !!! :خجالت: این هایی که گفتین از هیچ کدوم استفاده نکردم خوب من می خواستم کلا این برنامه رو web application بنویسم ولی خوب درنهایت برنامه تحت ویندوز خواستن و منم الان که به مرحله ذخیره و خوندن فایل از دیتا بیس رسیدم دیدم ظاهرا قضیه اون طورا هم که فک می کردم ساده نیست و نهایتا نحوه ذخیره فایل ها رو سرور و خوندن اونا و احیانا ذخیره رو کامپیوتر کاربر پیش اومد که کلی کلافه ام کرد!!!
الان هم نیاز مبرم به راهنمایی دوستان که این قضیه رو یه جور حل کنم .
البته شایدم چون من برنامه نویس تحت ویندوز نیستم و کارم وب هستش الان این جوری لنگ موندم!!!

navid_8x
دوشنبه 24 مرداد 1390, 21:24 عصر
یک برنامه ی تحت وب برای سرور بساز و برای کلاینت ها برانامه ویندوزی. به مراتب راحت تر میشه. من می تونم تو ارتباط دادن این ها بهت کمک کنم.

L_eskandary
دوشنبه 24 مرداد 1390, 22:05 عصر
یک برنامه ی تحت وب برای سرور بساز و برای کلاینت ها برانامه ویندوزی. به مراتب راحت تر میشه. من می تونم تو ارتباط دادن این ها بهت کمک کنم.
یعنی حتما باید به این روش عمل بشه؟
اصلا اجازه بدین یه خرده از کارایی که قراره انجام شه رو توضیح بدم البته برنامه اش رو هم نوشتم و تقریبا تمام هستش به غیر قسمت ذخیره اش ! ولی خوب تنها مسئله و مهمترین مسئله ای که بهش فک نکردم اجرای این برنامه تحت شبکه بود ...
من یه برنامه برا ToDoList نوشتم یه جوری که مدیر بتونه task هر یک از زیر مجموعه هاش رو تعریف کنه و البته هر کاربر هم task خودش رو و بر اساس اولویتی که کارهاش دارن اونا رو انجام بده ... و اگه فایل پیوستی هم داشت طبیعتا ضمیمه task بشه .
حالا خوب من با این اوضاع چیکار کنم؟

L_eskandary
سه شنبه 25 مرداد 1390, 20:07 عصر
خوب کاری که من برا دیتا بیس کردم اینه که توی سرور دیتا بیسم رو گذاشتم و IP server هم برا connction string . حالا کاربر ها می تونن به دیتا بیس وصل شن ولی خوب همچنان تو بخش ذخیره فایل ها مشکل دارم و نتونستم فایل هام رو چه تو دیتا بیس و چه تو یه فولدر تو سرور ذخیره کنم ممنون میشم در این مورد راهنمایی کنین .

morteza271
سه شنبه 25 مرداد 1390, 20:29 عصر
سلام دوست عزیز.
اگه میخواین فایل ها رو توی دیتابیس که روی سرور هست رو ذخیره کنید مشکلی نیست دیگه!
شما اگه بتونید فایل ها رو روی دیتابیس سیستم خودتون ذخیره کنید با همون کد هم میتونید روی دیتابیس سرور ذخیره کنید دیگه فقط کافیه ConnectionString رو برای دیتابیس روی سرور تنظیم کنید(که فکر کنم این کار رو کردین).

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

موفق باشید

L_eskandary
سه شنبه 25 مرداد 1390, 22:26 عصر
سلام دوست عزیز.
اگه میخواین فایل ها رو توی دیتابیس که روی سرور هست رو ذخیره کنید مشکلی نیست دیگه!
شما اگه بتونید فایل ها رو روی دیتابیس سیستم خودتون ذخیره کنید با همون کد هم میتونید روی دیتابیس سرور ذخیره کنید دیگه فقط کافیه ConnectionString رو برای دیتابیس روی سرور تنظیم کنید(که فکر کنم این کار رو کردین).

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

موفق باشید
ممنون بخاطر فایل ضمیمه تون
خوب من بجای فایل زیپ ، All file رو موقع ذخیره انتخاب کردم . حالا اگه بخوام بجای دانلود با کلیک بر روی عنوان فایل ، فایل با هر فرمتی باشه باز بشه چه کدی رو باید بذارم. یعنی نمی خوام دانلود بشه بلکه هموم لحظه با کلیک اگه عکس هست یا یه فایل ورود نمایش داده بشه.

morteza271
سه شنبه 25 مرداد 1390, 22:35 عصر
به نظرم یه روش راحت تر اینه که ابتدا فایل رو دانلود کنید و بعد اجراش کنید.با این کد :
System.Diagnostics.Process.Start(strPath);
و در آخر هم حذفش کنید.

در مورد اینکه بدون دانلود فایل از دیتابیس فایل رو باز کنه،چیزی نمیدونم!!!شاید بقیه دوستان کمکتون کنن.
من خودمم دوست دارم بدونم این کار میشه یا نه؟!