PDA

View Full Version : سوال: اپلود تصاویر برای هر محصول در یک فروشگاه اینترنتی



scarce
شنبه 22 فروردین 1394, 19:20 عصر
سلام وقت شما بخیر

من در پروژه (فروشگاه اینترنتی) قراره برای هر محصول 1 یا بیش از 1 تصویر آپلود کنم.
نکته : تعداد تصاویر برای هر محصولی متفاوت هست .

توضیحات :
در این پروژه در حال حاضر برای هر محصول امکان آپلود فایل وجود دارد یعنی کدهای مربوط به اپلود بدون کوچکترین اشکالی کار میکنه دارای درصد پیشرفت فایل اپلود هم داره. مراحل آپلود هم به این شکل است

1. ابتدا در فرم افزودن محصول جدید، اطلاعات فیلدها پر میشود و بعد تصاویر را انتخاب میکنم
2. روی دکمه آپلود تصاویر کلیک میکنم تا تصاویر کامل بر روی فولدر موقت ذخیره بشه
3. حالا روی دکمه ثبت اطلاعات کلیک میکنم تا :
3.1 اطلاعات در دیتابیس ثبت شود
3.2 تصاویر هم از فولدر موقت بصورت postId+randomnum در فولدر تصاویر در ریشه سایت کپی میشه در ضمن اگه نام فایل تکراری بود بصورت خودکار اعداد تصادفی تولید میشه و فایل ها بطور غیر تکرار ذخیره میشه.

بطور مثال : اگه شناسه محصول در دیتابیس پس از ثبت 1000 باشه و تعداد 4 تصویر در هم در نظر گرفته باشم شکل فایل ها به این صورت آپلود میشه

1000452512

1000935058
1000958834
1000848856



من برای نمایش تصاویر هر محصول، ( برای کاربران ) ابتدا کد محصول رو میگرم (که بطور مثال) 1000
حالا با regex تمام تصاویری که نام آنها با 1000 شروع میشه را در فولدر تصاویر سرچ میزنم و نام آنها را لیست میکنم و به کاربر نشون میدم.


حال سوال من اینجاست که نیاز به راهنمایی شما دارم :
برای نشان دادن تصاویر به نظر خودم یکم راه پیچیده ای در نظر گرفته ام چرا ؟ چون اگه در یک فروشگاه 1000 تا محصول داشته باشیم و هر محصول هم حداقل 5 تصویر در آن قرار بگیره، تعداد کل تصاویر 5000 میشه من برای هر محصول باید 5000 فایل را چک کنم ببینم کدومشون با کد محصول شروع میشه!! این راه باعث هدر رفتن منابع و کند شدن روند نمایش محصول میشه


به نظر شما باید نام فایل های هر محصول را در یک جدول در دیتابیس قرار بدم ؟ آیا راه حل بهتر و عملی دارید که بعدها دچار مشکل نشه؟

لطفا راهنمایی کنید

hamid_0341
یک شنبه 23 فروردین 1394, 15:16 عصر
نام فایل عکس را توی یک جدول با id محصول ذخیره کن و وقت نمایش با استفاده از id محصول عکس هایی که برای محصول است را نشان بده.

imohsen
دوشنبه 24 فروردین 1394, 00:50 صبح
مي توني بدون چك كردن نام فايل هاي موجود از datetime حال حاضر براي نام اون استفاده كني

takparz
سه شنبه 25 فروردین 1394, 12:53 عصر
یک جدول عکس محصول بسازید. این جدول یک کلید خارجی از جدول محصولات داشته باشه. برای اسم هر عکس هم میتونید ازGuid.NewGuid(); استفاده کنید.