PDA

View Full Version : سوال: مشکل حذف فایل بعد از آپلود فایل !؟



scarce
چهارشنبه 23 دی 1394, 17:49 عصر
سلام وقتتون بخیر

من یک مشکلی بعد از آپلود کردن فایل دارم اونم اینه که حذف فایل چطوری باشه.

یک صفحه داریم با نام post.aspx در این صفحه قسمتی برای آپلود تصاویر و وارد کردن فیلد ها میباشد.

نکته :
1. قسمت آپلود تصاویر بصورت Drag & Drop هست
2. یعنی وقتی کاربر تصاویر رو ، روی قسمت آپلود تصاویر دراپ میکنه تصاویر اتوماتیک روی سرور آپلود میشه بدون اینکه روی دکمه آپلود کلیک کنه!



کاربر بعد از پر کردن فیلدها و انتخاب تصاویر (که در واقع با انتخاب هر تصویر اتوماتیک بر روی سرور آپلود میکنه)، روی دکمه ثبت کلیک میکنه و اطلاعات در دیتابیس ذخیره میشه.



مشکل :
فرض کنیدکاربر میاد تصاویر رو انتخاب میکنه ولی روی دکمه ثبت کلیک نمیکنه و به هر دلیلی منصرف میشه و پنجره رو میبنده و از سایت خارج میشه ی اصلا برق میره !!!
تکلیف این تصاویر آپلود شده چی میشه؟؟
من چگونه میتونم این تصاویر رو حذف کنم تا فضای هارد سرور منو نگیره ؟!؟

اگه کاربر روی دکمه ثبت کلیک کنه که هیچ مشکلی نداره اما اگه کلیک نکرد و منصرف شد چی ؟؟

لطفا یه راه حل پیشنهاد دهید ،

aminmousavi
پنج شنبه 24 دی 1394, 02:54 صبح
سلام دوست عزیز . یک راه حل اینکه :
آدرس آپلود عکس ها توی یک فولدر به اسم مثلا temp ذخیره بشه، بعد وقتی کاربر دکمه ذخیره رو زد ، عکس های کاربر رو از temp به پوشه اصلی انتقال بدی . (عکس از temp پاک بشه و به فولدر اصلی بره ، یعنی cut کنیش)
برای اینکه عکس های اضافه هم پاک کنی میتونی تمامی تصاویر توی temp رو بررسی کنی هرکدام تاریخ ایجادشون مثلا بیشتر از 5 ساعت گذشته بود ، پاک کنی (در این موقع یعنی کاربر 5 ساعت پیش یک عکس آپلود کرده اما توی این 5 ساعت دکمه ذخیره رو نزده)

scarce
پنج شنبه 24 دی 1394, 09:49 صبح
ممنونم ،بله درسته من وقتی دکمه زده میشه فایل ها رو از فولدر موقت به فولدر اصلی انتقال میدم

مشکل من اینه که نمی خوام بصورت دستی فایل ها رو از فولدر موقت پاک کنم مثلا بیام چک کنم ببنیم کی فرستاده چون تعداد تصاویر خیلی زیاده

می خوام راه حلی باشه که بصورت خودکار پاک کنه یه جورایی مثل Session یعنی هر فایلی که آپلود مییشه یه تاریخ Expire شدن بهش بدم به محضی که تاریخ انقضاش تموم شد اتوماتیک پاک بشه

aminmousavi
پنج شنبه 24 دی 1394, 12:31 عصر
من هم به صورت دستی نگفتم ! منظورم این بوده که نرم افزار میاد پاک میکنه ، کافیه کد بالا رو بنویسین و بعد مثلا بگین هر روز اون کد یکبار اجرا بشه .