درود
توضیح :
من برای بخش اضافه کردن محصول به فروشگاه از یک تصویر Index برای نمایش در صفحه اول و هشت تصویر برای گالری استفاده میکنم
که کاربر در صفحه اضافه کردن محصول جدید تمام مشخصات و این تصاویر را انتخاب میکند و در زمان پست شدن به سمت کنترولر در رویداد [HttpPost] دستورات اضافه کردن مشخصات محصول و بعد ذخیره کردن عکس ها انجام میگیره و در صورت مموفقیت آمیز بودن پیغام مناسب نمایش می یابد.
این رو هم بگم که کل موراد پست شدن سمت کنترولر و برگشت پیغام ها بصورت Ajax انجام میشه !
مشکل :
برای زمانی که پروژه روی هاست بره آپلود کردن این 9 تا عکس ( عکس های گالری حداکثر ممکنه تا 3 مگابایت باشن) خیلی خیلی زمان میبره و کاربرمدیر مدت زیادی رو باید منتظر بمونه تا کل این فایل ها آپلود بشن بعد پیغام موفقیت نمایش میابد و اگه زمان انتظار زیاد باشه ممکنه فکر کنه که اصلا کاری صورت نگرفته !
را ه حل من :
برای این مشکل من بنظرم باید همون زمان که عکس رو از تو کامپیوتر انتخاب میکنه و بعد پیشنمایشش نشون داده میشه یه گزینه Upload براش بزارم که همون موقع فایل رو آپلود کنه .
و میخوام برای هر کدوم از تصاویر یک Ajax.form بزارم که بازدن دکمه Uplad به سمت کنترولر بره و عکس رو آپلود کنه .
سوالات ؟
1 - بنظرتون این شیوه کار صحیحه ؟ یا لطفا شیوه بهتر رو پیشنهاد بدید ؟
2 - برای آپلود فایل من از یک Html.Helper که بصورت دستی نوشته شده استفاده میکنم :
که متاسفانه در سمت سرور وقتی میخوام خالی یا پر بودنش رو چک کنم حتی موقعی که یک عکس انتخاب شده دستور If که خالی بودن رو چک میکنه اجرا میشه و پیغام نمایش پیدا میکنه :
البته ذخیره شدن و همه چیز درست انجام میشه , فقط شرطی که گذاشتم اگه UploadGalleryImage1 == null بود اشتباهی اجرا میشه و پیغام رو نمایش میده.
اگه Html.Helper یا مورد بهتری رو برای آپلود کردن عکس سراغ دارید لطفا معرفی کنید ؟
3 - چطوری زمانی که عکس در حال آپلود شدنه نوار پیشرفت اون رو نشون بدم - که کاربر بفهمه عکس در حال آپلود شدنه ؟
اگر sample ی برای Asp.net Mvc5 مثل این نمونه سراغ دارید لطفا معرفی کنید - اگه کد های سمت سرور (asp.net mvc) هم نوشته شده باشه خیلی هم بهتر.
مدیر های گرامی خیلی ببخشید زیاد نوشتم , امیدوارم منظورم رو رسونده باشم , عجله ای ندارم ,هر وقت فرصت کردید پاسخ رو بدید.