PDA

View Full Version : کوچک کردن عکس در هنگام ارسال به بانک؟



saeed_programer
پنج شنبه 24 دی 1383, 01:43 صبح
با سلام خدمت دوستان عزیز
من یک گالری تصاویر درست کردم که در این گالری میخواهم هنگامی که عکس جستجو شد عکس کوچک آن نمایش داده شود که هجم کمی دارد
برای این کار من دو نسخه از عکس یکی کوچک ودیگری بزرگ به بانک ارسال میکنم که این کار زمان بری است
من مخواهم خود برنامه هنگام ارسال عکس به باک resolotion آن را کم کرده (یک حالت استاندارد) ,و سپس آن را به بانک ارسال کند
.

Vahid_Nasiri
پنج شنبه 24 دی 1383, 11:38 صبح
در جاهایی که از تصاویر زیادی استفاده می کنند هیچگاه عکس را درون دیتابیس (از هر نوعی) ذخیره نمی کنند. فقط آدرس نسبی عکس ها را در دیتابیس با یک ای دی مشخص ذخیره می کند و به این صورت مقرون به صرفه تر است. ( نمونه اش کارهایی که در روزنامه ی ایران توسط عده ای از دوستان دیده ام (آرشیو عکس آنها بی اندازه وسیع و گسترده است) )

برای تغییر اندازه ی عکس مقالات زیر مفید هستند:
http://www.devx.com/dotnet/Article/22079/1954?pf=true
http://aspnet.4guysfromrolla.com/articles/012203-1.aspx

saeed_programer
پنج شنبه 24 دی 1383, 15:01 عصر
ممنون از را هنمائی شما
ولی منظور شما از به صرفه نبودن این روش کند بودن جستجو میباشد یا چیز دیگه؟
چون من در ابتدا از روشی که شما میگفتید استفاه کردم ولی روش کنونی جواب بهتری به من داد.
اگه میشه به صورت علمی بگین ایرادات این روش چیست
در ضمن من خودم یک سیستم indexing مضاعف بروی بانک خود طراحی کردم که به صورت 7 لایه عمل میکنه و تصاویر من را به صورت متواضن بروی 7 table تقسیم میکنه که این امر سرعت جستجو را log n در مبنای 7 میکنه

Vahid_Nasiri
پنج شنبه 24 دی 1383, 16:04 عصر
فرض کنید بیش از 100000 عکس دارید. قرار است 500 تا از آنها را که در دیتابیس ذخیره کرده اید با نمونه های جدیدتر و بهتری از همان نوع جایگزین کنید. روش کپی کردن فایلهای نسبتا حجم دار عکس، روی نمونه های قبلی ساده تر است یا روش آپدیت و آپلود آن به دیتابیس؟
+ احتمالا هاست و سرور متعلق به شما است. ولی به طور قطع خوب می دانید فضای اس کیوال سرور بسیار گران است ولی خرید فضای معمولی آنچنان هزینه ای به همراه ندارد.
+ وقتی آدرس نسبی عکس را ذخیره می کنید هم جستجو روی دیتابیس کم حجم سریع تر می شود و هم بارگذاری آن از روی هارد ساده است.

در هر حال هر طور که راحتی! :D

arshia_
دوشنبه 19 بهمن 1383, 16:38 عصر
خب فرض کنیم که میخواهیم همه عکسها رو توی یه فولدر توی سرور ذخیره کنیم
آیا برنامه برای آپلود و ذخیره عکس مشکلی نداره؟
مثلا نیاز به اجازه دسترسی و رمز و نام کاربری و امثال این چیزا؟
در ضمن چطور می شه هر عکسی رو که کاربر انتخاب کرد به سایز مورد نظر تبدیل کرد و بعد توی همون شاتخه مورد نظر با اسم مورد نظر ذخیره کرد؟
من htmlinputfile رو دیدم اما نمی دونم کار کردن با اون برای انجام تغییر اندازه و ... چطوره ..فقط به روش ساده می تونم کار کنم و در ضمن آیا امنیت سایت پایین نمی آد که کاربر بتونه فایل آپلود کنه؟؟؟؟

میشه با ذکر یه مثال مساله رو تفهیم کنید؟
ممنون و متشکر ...(شرمنده اگر تکراری است...چند بار جستجو کردم و حدود 50 تا تاپیک از 217 تا رو خوندم اما هیج کدوم بصورت کامل اشاره دقیق نکرده :oops: )

Vahid_Nasiri
چهارشنبه 21 بهمن 1383, 10:38 صبح
روش آپلود:
http://www.codeproject.com/aspnet/fileupload.asp

more info (http://www.google.com/search?hl=en&lr=&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&q=upload+file+asp.net&btnG=Search)


نکته ی امنیتی!
اجازه ی آپلود فایلهایی که امکان اجرا روی سرور را داشته باشند ندهید. یعنی فایلهای aspx و امثال آنرا فیلتر کنید.
مشکل دیگری هم ندارد.

اگر فایل آپلود نمی شود دلیل آنها تنها نداشتن مجوز رایت یوزر aspnet‌ در فولدر آپلود است که باید داده شود.

موفق باشید.

arshia_
شنبه 24 بهمن 1383, 16:04 عصر
اگر فایل آپلود نمی شود دلیل آنها تنها نداشتن مجوز رایت یوزر aspnet‌ در فولدر آپلود است که باید داده شود.
با تشکر از استاد نصیری عزیز- ممکنه کمی در مورد مجوز راهنمایی بفرمایید؟

Vahid_Nasiri
شنبه 24 بهمن 1383, 18:17 عصر
به مقاله خطاهای متداول مراجعه بفرمایید با تصویر توضیح داده شده.

arshia_
یک شنبه 25 بهمن 1383, 16:46 عصر
ممنون.... :flower: :موفق:

amin-soft
جمعه 21 اسفند 1388, 12:15 عصر
فرض کنید بیش از 100000 عکس دارید. قرار است 500 تا از آنها را که در دیتابیس ذخیره کرده اید با نمونه های جدیدتر و بهتری از همان نوع جایگزین کنید. روش کپی کردن فایلهای نسبتا حجم دار عکس، روی نمونه های قبلی ساده تر است یا روش آپدیت و آپلود آن به دیتابیس؟
+ احتمالا هاست و سرور متعلق به شما است. ولی به طور قطع خوب می دانید فضای اس کیوال سرور بسیار گران است ولی خرید فضای معمولی آنچنان هزینه ای به همراه ندارد.
+ وقتی آدرس نسبی عکس را ذخیره می کنید هم جستجو روی دیتابیس کم حجم سریع تر می شود و هم بارگذاری آن از روی هارد ساده است.

در هر حال هر طور که راحتی! :D


به نظر شما این که عکس یا ... را به باینری یا متن تبدیل کنیم و در دیتابیس ذخیره کنیم و بعد دوباره تبدیل کنیم و در گریدویو یا هر چیز دیگه نمایش دهیم بهتر است کجا استفاده شود و این که این کار مزیتی داره .
من هاست ای که گرفته بودم فضا برای دیتا بیس نامحدود داشت . ولی فضای خود هاست محدود بود . به همین خاطر من عکس-pdf-word و.. را تبدیل می کردم و تو دیتابیس ذخیره می کردم بعد برای دانلود یا نمایش انها دوباره تبدیل می کردم .

این روش که نام فایل به همراه پسوند را در دیتابیس و خود فایل را در پوشه ای در سایت ذخیره کنیم و بعد بر اساس ادرس پوشه و نام فایل به همراه پسوند که در دیتابیس است ان نمایش دهیم یا هر کار دیگه ایی . فضای هاست را میگیره . نظر شما در مورد این موارد چیه ؟

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

تشکر

amin-soft
جمعه 21 اسفند 1388, 12:25 عصر
با تشکر از استاد نصیری عزیز- ممکنه کمی در مورد مجوز راهنمایی بفرمایید؟


می تونی خودت تعریف کنی بر اساس قرار دادی که خودت میزاری یا از خود ASP.NET استفاده کنی که روش اولی به نظر من بهتر می تونی کار کنی بیشتر می تونی مانوور بدی برای مجوز دسترسی . تا ببنیم نظر اساتید چی باشه. اقای نصیری