نمایش نتایج 1 تا 30 از 30

نام تاپیک: ذخیره ی عکس در دیتابیس

  1. #1
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    اهواز
    پست
    158

    Thumbs up ذخیره ی عکس در دیتابیس

    دوستان خسته نباشید .
    می خواستم ببینم اگر تعداد زیادی عکس (5000) را در یک دیتابیس ذخیره کنیم آیا دیتابیس دچار مشکل میشه یا نه واگر میشه چه مشکلاتی و راه حل اونا چیه ؟
    دیتابیس من اکسس است.
    پیشا پیش از همه متشکرم .

  2. #2

    نقل قول: ذخیره ی عکس در دیتابیس

    تا او نا جا یی که دوستان من رو راهنمایی کردن در اکسس میشه ولی در اس کیو ال نه.
    (من قبلا در این باره بحث کردم)
    اگه کسی راه حل بهتری می دونه بگه.

  3. #3
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

    نقل قول: ذخیره ی عکس در دیتابیس

    براي رفع اين كند شدن مي توانيد :
    از اين روش استفاده كنيد عكس رو در بانك قرار ندهيد . ادرس رو در بانك قرار دهيد و عكس رو به داخل يك پوشه ببريد .
    من از همين روش استفاده مي كنم و داراي 2500 ركرد ثابت هستم در صورت نياز اگه متوجه نشديد بگيد يك مثال براتون بزنم .

  4. #4
    کاربر دائمی آواتار sma_mohseni
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    قم
    پست
    194

    نقل قول: ذخیره ی عکس در دیتابیس

    منم از همین روشی که آقای hentjanson گفتند استفاده میکنم
    هیچ مشکلی نداره

  5. #5
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    اهواز
    پست
    158

    نقل قول: ذخیره ی عکس در دیتابیس

    از راه حل دوستان متشکرم اما من می خوام عکس ها تو دیتابیس باشند وغیر قابل دیدن .

  6. #6
    کاربر دائمی آواتار matinebi
    تاریخ عضویت
    آبان 1386
    محل زندگی
    نیشابور
    پست
    433

    نقل قول: ذخیره ی عکس در دیتابیس

    لطفا یک مثال قرار دهید
    آقای hentjonson

  7. #7
    کاربر تازه وارد آواتار moonplant
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    moon
    پست
    59

    نقل قول: ذخیره ی عکس در دیتابیس

    نقل قول نوشته شده توسط MohsenTi مشاهده تاپیک
    از راه حل دوستان متشکرم اما من می خوام عکس ها تو دیتابیس باشند وغیر قابل دیدن .
    امیدوارم تاپیک را منحرف نکرده باشم:
    یعنی تنها راه حل برای اینکه عکس ها غیر قابل دیدن باشند، ذخیره کردن آنها در دیتابیس است؟
    از دوستان می خواهم روش هایی را که برای حفاظت از عکس هایی که درون یک پوشه وجود دارند، نام ببرند.
    منظورم از حفاظت اینست که کاربر ها نتوانند به مسیری که برنامه در آن نصب شده است بروند و تمام 1000 تا عکس شما را که درون آن پوشه قرار دارد، ببینند. شاید قرار دادن این عکس ها درون یک dll یک راه حل باشد، راه حل های بهتری سراغ دارید؟

    -ممنون

  8. #8
    کاربر دائمی آواتار kernel
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    130

    نقل قول: ذخیره ی عکس در دیتابیس

    ذخیره عکس در دیتا بیس اکسس به تعداد زیاد مشکل ایجاد میکنه
    اگه بخوای حتما عکستو توی دیتا بیس ذخیره کنی میتونی از یه کامپوننت به نام DBPix استفاده کنی
    این کامپوننت عکس ها رو با فرمتی مخصوص توی دیتا بیس ذخیره می کنه و هیچ کس جز خود این کامپوننت نمیتونه عکس ها رو باز کنه ( اینم خودش یه جور امنیته ) .
    یکم تو وب سرچ کنی می تونی این ابزارو پیدا کنی

  9. #9
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    اهواز
    پست
    158

    Thumbs up نقل قول: ذخیره ی عکس در دیتابیس

    دوست عزیز moonplant
    برای مخفی کردن راههای زیادی هست مثل سیستمی کردن فایل ها ولی اگر همه ی فایل ها در یک فایل قرار گیرند مدریت آنها راحتتر است .
    فرض کنید می خواهید از همه ی فایل ها بکاپ بگیرید .

  10. #10
    کاربر دائمی
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    آنجا سرای ابدی است
    پست
    2,011

    نقل قول: ذخیره ی عکس در دیتابیس

    ترجیحا برای عکست یک جدول مجزا در نظر بگیر

  11. #11
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634

    نقل قول: ذخیره ی عکس در دیتابیس

    به نظر من هم استفاده از دیتا بیس (مثلا MS SQLServer) بهتره
    اون راهی که در پست شماره 9 در مورد استفاده از کامپوننت اختصاصی این کار گفته شد خوب به نظر میرسه
    ضمنا اگر نخواهید از دیتا بیس استفاده کنید میتونید اونها را ریسورس کنید و در حقیقت در داخل فایل exe نگه دارید
    ولی باز هم میگم به نظر من استفاده از دیتابیس بهتره
    بخصوص اگر برای امنیت از ابزاری مثل کامپوننتی که در پست شماره 9 معرفی شد استفاده کنید.

  12. #12
    کاربر تازه وارد آواتار moonplant
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    moon
    پست
    59

    نقل قول: ذخیره ی عکس در دیتابیس

    1. کامپوننت DBPix همراه با یک دیتابیس مثل access و ... به کار می رود؟ یعنی برای اینکه برنامه ما در کامپیوتر کاربر اجرا شود باید حتماً access و ... نصب باشد؟
    2. کلاً وقتی تعداد عکس هایی که در برنامه مان با آنها سر و کار داریم، زیاد است... کدام روش سریع تر است؟ الف)ذخیره کردن عکس ها در دیتا بیس ب)گذاشتن عکس ها در یک پوشه و ذخیره کردن نام عکس در دیتابیس

  13. #13

    نقل قول: ذخیره ی عکس در دیتابیس

    میتونید اونها را ریسورس کنید و در حقیقت در داخل فایل exe نگه دارید
    میخواستم بدونم چجور میشه چند فایل با هر نوعی رو در یک فایل کابین (جمع) کنم . به طوری که قابل دسترسی و نفوذ نباشه.

    هدفم اینه که حدود 1000 تا فایل jpg با ظرفیت هر فایل حدود 100 کیلو بایت رو در یک فایل جمع کنم که کاربر نتونه محتواش رو ببینه البته به راحتی قابل بازیابی هم باشه .
    شاید قرار دادن این عکس ها درون یک dll یک راه حل باشد، راه حل های بهتری سراغ دارید؟
    فکر میکنم ان راه حل بهترین راه حله که سرعت دیتابیس رو هم پائین نمیاره . چجوری میشه این کارو کرد ؟

  14. #14
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

    نقل قول: ذخیره ی عکس در دیتابیس

    در پوشه به نظر من بهتره چون اينطوري بهتره بانك سبك تره .
    بازم اين نظر من اگه اينطور نيست اشتباه منه

  15. #15
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634

    نقل قول: ذخیره ی عکس در دیتابیس

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

  16. #16

    نقل قول: ذخیره ی عکس در دیتابیس

    اونوقت باید برید سراغ محافظت از پوشه
    من با folder lock کار کردم . مشکل داره .
    شما چه راهی معرفی میکنید ؟

  17. #17
    کاربر تازه وارد آواتار moonplant
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    moon
    پست
    59

    نقل قول: ذخیره ی عکس در دیتابیس

    نقل قول نوشته شده توسط ealvandi مشاهده تاپیک
    من با folder lock کار کردم . مشکل داره .
    شما چه راهی معرفی میکنید ؟
    zipforge رو هم امتحان کن.
    لطفاً یکی از اساتید بیاید و این سوال راپاسخ دهد:
    وقتی تعداد عکس هایی که در برنامه مان با آنها سر و کار داریم، زیاد است... کدام روش سریع تر است؟ الف)ذخیره کردن عکس ها در دیتا بیس ب)گذاشتن عکس ها در یک پوشه و ذخیره کردن نام عکس در دیتابیس(البته پوشه محافظت شده هم هست)

    -خیلی ممنون

  18. #18
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634

    نقل قول: ذخیره ی عکس در دیتابیس

    از دیتابیس استفاده کنید
    اگر با سرعت مشکل داشتید قبل از اجرا عکسها را روی هارد کپی کنید و در انتها دوباره حذف کنید
    برای هرچه کمتر شدن زمانِ ریختن فایلها بر روی هارد ، عکسها را به ترتیبی که استفاده میشوند روی هارد کپی کنید
    ولی در کل اگر مجبور نبودید این کار را نکنید و مستقیمأ با دیتا بیس کار کنید یا فایها را ریسورس کنید و در همان فایل exe نگهدارید

  19. #19

    نقل قول: ذخیره ی عکس در دیتابیس

    یا فایها را ریسورس کنید و در همان فایل exe نگهدارید
    2 بار به این موضوع اشاره کردید اما نگفتید چجوری !!

    قبل از اجرا عکسها را روی هارد کپی کنید و در انتها دوباره حذف کنید
    به نظر کار منطقی نمیاد - اصل هدف ما در این جا محافظت از عکسهاست و اگر این کار رو انجام بدیم احتمال داره کاربر مسیر ذخیره فایل رو بدونه و دیگر هیچ !!!!!!!!!!!

  20. #20
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634

    نقل قول: ذخیره ی عکس در دیتابیس

    در باره مورد اول که گفتید :
    http://delphi.about.com/od/objectpas..._resources.htm
    در سایت هم جستجو کنید
    در این آدرس هم نحوه اضافه کردن فونت به فایل exe هست که اون رو هم از طریق ریسورس انجام داده
    http://delphiclinik.blogfa.com/post-86.aspx

    درباره مورد دوم هم خودم که گفتم
    ولی در کل اگر مجبور نبودید این کار را نکنید

  21. #21
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634

    Post نقل قول: ذخیره ی عکس در دیتابیس

    Type Parameter
    Syntax {$R filename}
    {$RESOURCE filename}{$R *.xxx}
    {$R filename.res filename.rc}
    Scope Local
    Remarks
    The $R directive specifies the name of a resource file to be included in an application or library. The named file must be a Windows resource file and the default extension for filenames is .res. To specify a file name that includes a space, surround the file name with single quotation marks: {$R 'My file'}.
    The * symbol has a special meaning in $R directives: it stands for the base name (without extension) of the source-code file where the directive occurs. Usually, an application’s resource (.res) file has the same name as its project (.dpr) file; in this case, including {$R *.res} in the project file links the corresponding resource file to the application. Similarly, a form (.dfm or xfm) file usually has the same name as its unit (.pas) file; including {$R *.dfm} in the .pas file links the corresponding form file to the application.
    {$R filename.res filename.rc} (where the two occurrences of 'filename' match) makes the .rc file appear in the Project Manager. When the user opens the .rc file from the Project Manager, the String Table editor is invoked.
    When a {$R filename} directive is used in a unit, the specified file name is simply recorded in the resulting unit file. No checks are made at that point to ensure that the filename is correct and that it specifies an existing file.
    When an application or library is linked (after compiling the program or library source file), the resource files specified in all used units as well as in the program or library itself are processed, and each resource in each resource file is copied to the executable being produced. During the resource processing phase, the linker searches for .res files in the same directory as the module containing the $R directive, and in the directories specified in the Search path input box on the Directories/Conditionals page of the Project|Options dialog box (or in the directories specified in a -R option on the DCC32 command line).
    توضیح help دلفی درمورد فایل ریسورس
    آخرین ویرایش به وسیله babak_delphi : سه شنبه 04 تیر 1387 در 01:20 صبح

  22. #22

    نقل قول: ذخیره ی عکس در دیتابیس

    آیا کاربران شما به بانک اطلاعاتی شما دسترسی دارند یا نه ؟

  23. #23

    نقل قول: ذخیره ی عکس در دیتابیس

    هر کدام از روشها مزیتهای و معایب خاص خود را دارند
    مثلاً ذخیره در دیتابیس باعث می شه به مرور زمان حجم دیتابیس زیاد بشه (که SQL مشکل اضافه حجم نداره) ولی در سرعت دسترسی به اطلاعات شما تاثیر می گذاره
    ذخیره عکس روی هارد و نگهداری آدرس آن در بانک نیز ممکنه که عکس شما به هر دلیلی پاک بشه ولی در بانک شما هنوز آدرسش موجود باشه و....

  24. #24

    نقل قول: ذخیره ی عکس در دیتابیس

    با تشکر از vcldeveloper عزیز بابت راهنمایشون.

    برای این کار برای اینکه سرعت پائین نیاد بهتره که عکسها رو در یک فولدر ذخیره کنید . برای تامین امنیت عکسها هم میتونید اونهارو encrypt کنید یا توسط zlib فشردش کنید.


    موفق باشید.

  25. #25
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634

    نقل قول: ذخیره ی عکس در دیتابیس

    اگر عکسها را با zlib فشرده کند در زمان استفاده مجددأ باید extract شوند که اگر حجم داده ها زیاد باشد (که ظاهرا همین طور خواهد بود)این کار بسیار زمان بر و کند خواهد شد
    ضمنا آیا با zlib می توان فولدر را نیز فشرده کرد؟

  26. #26

    نقل قول: ذخیره ی عکس در دیتابیس

    ذخیره عکس در بانک یا در فایل بستگی به فاکتورهای مختلفی داره، اینکه کسی تصور بکنه ذخیره عکس در بانک بهترین گزینه هست، یا بالعکس، تصور اشتباهی هست. هر کس باید با توجه به نوع استفاده ایی که برای برنامه در نظر گرفته، نقش عکس ها در برنامه، نوع بانک اطلاعاتی که میخواد استفاده کنه، تعداد و حجم تقریبی عکس ها، امنیت داده ها، چگونگی ایجاد Backup، و سایر فاکتورها تصمیم بگیره که از چه روشی برای ذخیره عکس استفاده کنه.
    اکثرا اعلام می کنند که ذخیره عکس در بانک موجب کند شدن بانک میشه. در حالی که این مورد مستقیما به نوع بانک اطلاعاتی، چگونگی طراحی بانک، Queryهایی که برای دریافت عکس نوشته میشند، و سروری که بانک روی آن قرار میگیره، ارتباط داره. مثلا اگر فردی در SQL Server نوع فیلدهای عکس و نحوه ذخیره آنها در بانک را به درستی تنظیم کنه، حتی الامکان داده های مربوط به عکس را جدای از سایر داده ها نگهداری کنه - مثلا با استفاده از File Group- ایندکس های مناسب روی بانک بزاره، کوئری ها را طوری بنویسه که فقط داده هایی که در هر لحظه نیاز داره را دریافت کنه، و... همچین فردی مشکل خاصی با حجم بالای بانک به دلیل وجود عکس های زیاد نخواهد داشت! از طرفی، جستجو برای پیدا کردن یک فایل عکس در یک پوشه با چند هزار فایل هم کار چندان سریعی نخواهد بود. البته ذخیره در فایل هم مزایای خودش را دارد، مثلا در یک برنامه تحت وب، تصاویر باید نهایتا بصورت فایل به مرورگر ارسال شوند، پس ذخیره آنها در بانک موجب ایجاد یک مرحله کار اضافه می شود.

    اگر عکسها را با zlib فشرده کند در زمان استفاده مجددأ باید extract شوند که اگر حجم داده ها زیاد باشد (که ظاهرا همین طور خواهد بود)این کار بسیار زمان بر و کند خواهد شد
    اگر قرار باشه امنیت محتوای فایل های - نه امیت فایل ها در برابر تغییر یا حذف- تامین شود، یکی از راههای ساده استفاده از همین ZLib هست. برنامه نویس میتواند هر فایل را قبل از ذخیره بر روی دیسک با این روش فشرده کند و در زمان لود فایل، آن را از حالت فشردگی خارج کند. نیازی نیست که همه فایل ها بطور همزمان از فشردگی خارج شوند، چون برای هر درخواست به یک یا حداکثر چند فایل نیاز خواهد بود، نه کل فایل ها.
    ضمنا آیا با zlib می توان فولدر را نیز فشرده کرد؟
    خیر. اگر هم امکان پذیر بود، کار معقولی به نظر نمی رسید، چون برای باز کردن هر فایل، باید کل فایل های فشرده شده، یا حداقل فایل های فشرده شده قبل از فایل مورد نظر Extract شوند، مثلا برای باز کردن فایل هزارم، باید 999 فایل قبل از آن هم Extract شوند! مسلما این روش بسیار کندتر از فشرده کردن فایل ها بصورت منفرد خواهد بود.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  27. #27
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

    نقل قول: ذخیره ی عکس در دیتابیس

    سلام دوستان
    من تصاوير رو به داخل يك پوشه ميبرم و نام رو به بانك حالا مي خوام بدونم چطور ميشه اين روند zlib رو انجام داد .

  28. #28

    نقل قول: ذخیره ی عکس در دیتابیس

    مي خوام بدونم چطور ميشه اين روند zlib رو انجام داد
    zlib در خود دلفی ارائه شده و احتمالا یک unit به همین اسم وجود داره.

  29. #29
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634

    نقل قول: ذخیره ی عکس در دیتابیس

    نقل قول نوشته شده توسط ealvandi مشاهده تاپیک
    برای این کار برای اینکه سرعت پائین نیاد بهتره که عکسها رو در یک فولدر ذخیره کنید . برای تامین امنیت عکسها هم میتونید اونهارو encrypt کنید یا توسط zlib فشردش کنید
    من با توجه به این گفته دوستمون گفتم که extract کردن اون زمان بر خواهد بود ، چون ایشون گفتند عکسها را در فولدر قرار دهند
    نقل قول نوشته شده توسط hentjanson مشاهده تاپیک
    من تصاوير رو به داخل يك پوشه ميبرم و نام رو به بانك حالا مي خوام بدونم چطور ميشه اين روند zlib رو انجام داد
    اینجا هم میبینید که این دوستمون می خواهند این کار رو انجام بدن
    به هر حال باز هم میگم که به نظر من این کار صحیح نیست
    در این مورد فکر میکنم همون دیتا بیس مناسب باشه و به قول شما تک تک فایلها رو با zlib فشرده کنند و در بانک قرار بدهند.

  30. #30
    کاربر دائمی آواتار babak_delphi
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    آستارا
    پست
    634

    نقل قول: ذخیره ی عکس در دیتابیس

    ضمنا در جواب hentjanson عزیز هم باید بگم که zlib یک unit به همین نام داره و در مورد نحوه استفاده از اون قبلا در سایت توضیح داده شده
    جستجو کنید

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •