bftarane
یک شنبه 30 مهر 1396, 15:21 عصر
فرض کنید باید فرمی رو به همراه یک تصویر به صورت ajax ای درج کنیم
برای آپلود تصویر میشه از پلاگین های جی کوئری مثل bluimp یا dropzonejs استفاده کرد
شرایط ایده آل اینه که کاربر فرم رو پر کنه و تصویر رو هم انتخاب کنه
و در آخر دکمه submit رو کلیک کنه.
(در این حالت در هنگام انتخاب تصویر، تصویر در یک فولدر temp ذخیره میشه و با زدن دکمه داده ها به همراه نام تصویر در دیتابیس ذخیره میشن و خود تصویر هم به فولدر دائم move میشن، یعنی از فولدر Temp حذف میشن و به فولدر اصلی منتقل میشن)
ولی مشکل اینه که ممکنه کاربر تصویر رو انتخاب کنه (که تصویر می ره در فولدر temp ذخیره میشه)
ولی دیگه از ادامه کار منصرف بشه و دکمه ثبت رو کلیک نکنه.
که در این صورت یک فولدر Temp با تعداد زیادی تصویر خواهیم داشت که بی دلیل حجم سرور رو اشغال می کنه.
برای رفع این مشکل چه راهی رو پیشنهاد می کنید؟
یک روش هم البته وجود داره که دو مرحله ای کردن کار هست، یعنی ابتدا کاربر فرم رو ثبت کنه و در مرحله بعد پلاگین آپلود تصویر بهش نشون داده بشه که از نظر من راه بدی نیست ولی ممکنه این برای یه سری مشتریا قابل قبول نباشه
البته این روش وقتی که بخواهیم به فرض گالری تصاویر رو برای محصولمون آپلود کنیم روش خیلی خوبیه ولی وقتی فقط یک تصویر بخواد درج بشه شاید زیاد جالب نباشه
همچنین
طبق جستجویی که کردم یک راه دیگه هم اینه که فقط یک دکمه برای درج فرم قرار بدیم و با درج همون دکمه فایل هم آپلود بشه
ولی روش هایی که من پیدا کردم یا از FormData استفاده کرده بودن یا از IFrame که طبق نتایجی که من به دست آوردم IFrame در موبایل ممکنه ناسازگاری داشته باشه و FormData هم در یه سری مرورگرها پشتیبانی نمی شه.
برای آپلود تصویر میشه از پلاگین های جی کوئری مثل bluimp یا dropzonejs استفاده کرد
شرایط ایده آل اینه که کاربر فرم رو پر کنه و تصویر رو هم انتخاب کنه
و در آخر دکمه submit رو کلیک کنه.
(در این حالت در هنگام انتخاب تصویر، تصویر در یک فولدر temp ذخیره میشه و با زدن دکمه داده ها به همراه نام تصویر در دیتابیس ذخیره میشن و خود تصویر هم به فولدر دائم move میشن، یعنی از فولدر Temp حذف میشن و به فولدر اصلی منتقل میشن)
ولی مشکل اینه که ممکنه کاربر تصویر رو انتخاب کنه (که تصویر می ره در فولدر temp ذخیره میشه)
ولی دیگه از ادامه کار منصرف بشه و دکمه ثبت رو کلیک نکنه.
که در این صورت یک فولدر Temp با تعداد زیادی تصویر خواهیم داشت که بی دلیل حجم سرور رو اشغال می کنه.
برای رفع این مشکل چه راهی رو پیشنهاد می کنید؟
یک روش هم البته وجود داره که دو مرحله ای کردن کار هست، یعنی ابتدا کاربر فرم رو ثبت کنه و در مرحله بعد پلاگین آپلود تصویر بهش نشون داده بشه که از نظر من راه بدی نیست ولی ممکنه این برای یه سری مشتریا قابل قبول نباشه
البته این روش وقتی که بخواهیم به فرض گالری تصاویر رو برای محصولمون آپلود کنیم روش خیلی خوبیه ولی وقتی فقط یک تصویر بخواد درج بشه شاید زیاد جالب نباشه
همچنین
طبق جستجویی که کردم یک راه دیگه هم اینه که فقط یک دکمه برای درج فرم قرار بدیم و با درج همون دکمه فایل هم آپلود بشه
ولی روش هایی که من پیدا کردم یا از FormData استفاده کرده بودن یا از IFrame که طبق نتایجی که من به دست آوردم IFrame در موبایل ممکنه ناسازگاری داشته باشه و FormData هم در یه سری مرورگرها پشتیبانی نمی شه.