PDA

View Full Version : ذخیره کردن فیلم در دیتابیس و نمایش در محیط VB.Net



akrami1980
چهارشنبه 03 مرداد 1386, 14:45 عصر
سلام دوستان
قبل از اینکه این تاپیک را ایجاد کنم در این سایت و در MSDN جستجو کردم اما متاسفانه نتوانستم مطلب جالب توجهی پیدا کنم. در یک برنامه تحت شبکه می بایست فیلم های مختلفی ذخیره شود و بنا به فرد سازنده فیلم، فیلم مورد نظر نمایش داده شود اما اولین موردی که برای حل مشکل ذخیره کردن فیلم به نظرم رسید این بود که آدرس ذخیره کردن فیلم را در دیتابیس SQL ذخیره کنم اما بنا به مسائل امنیتی درست نیست که همه کس به فیلم ها دسترسی داشته باشند در نتیجه باید طوری فیلم ها ذخیره بشوند که بتوانند از فیلترهای امنیتی ویندوز و نرم افزارهای امنیتی مختلف عبور کند در نتیجه بهترین راه حلی که به نظرم رسید این بود که آن فیلمها را در دیتا بیس ذخیره کنم اما چون تا حال این کار را انجام نداده بودم به دنبال مطالبی در این زمینه می گشتم که متاسفانه مطلب جالب توجهی پیدا نکردم دوستانی که می توانند راهنمایی کنند بی زحمت طریقه ذخیره فیلم مورد نظر در دیتابیس و نحوه لود و نمایش فیلم در دیتابیس را در محیط VB.Net راهنمایی کنند. در ضمن از کدام نسخه SQL SERVER استفاده کنم و یا اصلا برای اینکار باید از اوراکل استفاده کنم. پیشاپیش از کسانی که به هر نحوی سعی در راهنمایی کردن دارند تشکر می کنم

saeed_rezaei
چهارشنبه 03 مرداد 1386, 19:56 عصر
سلام.
به هر حال می شه هر نوع فایلی رو در بانک اطلاعاتی ذخیره کرد. اما نکته مهم، نحوه بازیافت هست.
فکر نمی کنم خود اس کیو ال، فرمت فیلم رو قبول کنه. منظورم اینه که اگه یه فیلم رو به اس کیو ال بدیم، بعید می دونم متوجه شه که اطلاعات یک فیلم رو نگهداری می کنه. پس بازیافت فیلم چیزی هست که باید بیشتر روش کار بشه.
به نظر من دو راه حل برای بازیافت وجود داره.
اول اینکه به صورت یه فایل روی هارد ذخیره شه.
دوم اینکه از بانک مستقیما بیاریمش توی حافظه.
روش اول که مشخصا ساده تره. در این روش، فایلی رو که روی بانک ذخیره کردیم دوباره می اندازیمش روی هارد و بعد به برنامه ای که قرار فیلم رو پخش کنه، مثل مدیا پلیر آدرس فایله رو می دیم تا پخش کنه.
اما در مورددوم. فایل باید به صورت memory stream باشه تا بتونه توی حافظه قرار بگیره. و چیزی که اینجا مسئله هست، اینه که چطور می شه یه memory stream رو بدیم یه برنامه ای مثل مدیا پلیر و یا real player تا واسمون پخش کنه.
من راه حل اول رو ترجیح می دم هر چند که این ریسک هنوز هم وجود داره که یه کاربر باهوش بیاد و مسیر فایل فیلم رو پیدا کنه و مثلا کپی بگیره.

ghafoori
چهارشنبه 03 مرداد 1386, 20:52 عصر
دوست عزیز شما اگر می توانید از asp.net استفاده کنید داخل ان می توانید با httpmodule,httphandler براحتی در خواست ها برای یک فایل خاص را کنترل کنی

akrami1980
پنج شنبه 04 مرداد 1386, 15:06 عصر
با عرض تشکر از جناب غفوری باید عرض کنم خدمت ایشان که متاسفانه امکان استفاده از ASP موجود نیست و باید برنامه تحت شبکه و WinBase باشد اگر که SQL این امکان را ندارد در Oracle چنین امکانی موجود هست یا نه؟
در ضمن از جناب رضایی تشکر می کنم سعی می کنم راه حل های ایشان را امتحان کنم

ghafoori
پنج شنبه 04 مرداد 1386, 18:30 عصر
پیشنهاد دیگر من این است که یک برنامه داخل کلاینت نصب باشه در خواست را برای سرور ارسال کنه اگر مجاز بود در پوشه temp ان را دانلود کند و ادرس ان را به mediaplayer بدهد و بعد از پخش ان را پاک کند