سلام.
اون مورد اول که گفتین فایل ها در یک پوشه Temp آپلود بشه، تقریبا فکر کنم اکثرا از این روش استفاده میکنند.
اما به قول شما ممکنه کاربر منصرف بشه.
استفاده از Quartz میتونه مشکل رو حل کنه...اما به نظر من راه حل ساده ترش اینه یه قسمت توی برنامه تعریف بکنید که فایل های مربوط به Temp رو بر اساس تاریخ آپلود Sort بکنه و بتونید همه اون ها مشاهده کنید و دسته جمعی یا به صورت تکی پاک کنید اینجوری هم برنامه درگیر نمیشه هر چند دقیقه بیاد چک بکنه....البته همه چیز بستگی به تعداد کاربرتون داره که واقعا چقدر از برنامه استفاده میکنند و بسته به اون سناریو کار رو بچینید.
مثلا خود من واسه یه کاری از Dropzonejs دقیقا به همین صورت استفاده کردم که داخل پوشه Temp آپلود میکردم بعدش وقتی فایل به صورت موفق آپلود میشد به سمت کلاینت اسم فایل رو برگشت میدادم و داخل یه
hidden field قرار میدادم و وقتی کاربر فرم رو Submit میکرد فایل رو از پوشه Temp جا به جا میکردم و اسمش رو داخل دیتابیس نگه میداشتم.
البته فکر کنم راه حل های بهتری هم برای این کار وجود داشته باشه.
اما نگرانی شما بیشتر سر اون پوشه Temp هست که به نظرم اصلا جای نگرانی نداره..چون اسمش روشه..Temp...فایل های موقت..پس اگر حذف هم بشه مهم نیست.چون کاربر از آپلود اون ها منصرف شده و اصلا نمیدونه که فایلی داخل اون پوشه وجود داره