اپلود فایل های حجیم در سیستم Socket Io و محیط NodeJs به شکل Chunk

Uploading large files in the Socket Io system and NodeJs environment in the form of Chunks

سوکت برای اپلود فایل های حجیم طراحی نشده ، بنابراین فایل ها باید  به قسمت های کم حجم تری تقسیم شده و اپلود بشن.
 

در این کد از ورژن جدید نود جی اس بصورت "type": "module" استفاده شده

مراحل طراحی شده در این کد

1-اپلود فایل در هاست اصلی

2- دیتای مورد نیاز (حجم / زمان ویدیو و غیره) استخراج می شوند

3-فایل به سرور FTP منتقل میشود

3-1-لینک دانلود از FTP نیز ایجاد می شود

4-یک نسخه کم حجم تر از فایل ایجاد می شود(اگر امکان کم حجم سازی میسر باشد ، برای فرمت های زیپ امکان کم حجم سازی مجدد وجود ندارد)

4-1- اطلاعات نسخه کم حجم نیز واکشی میشود

5-فایل کم حجم نیز به سرور FTP منتقل می شود 
5-1- لینک دانلود از FTP نیز ایجاد می شود.

6-در نهایت هر دو فایل (اصلی و کم حجم شده) از روی هاست اصلی حذف میشوند.

کتابخانه های استفاده شده

basic-ftp  5.0.5 
dotenv 16.5.0
express 4.21.2
ffprobe-client 1.1.6
file-type 21.0.0
fluent-ffmpeg 2.1.3
socket.io ^4.8.1

‼️دقت کنید تا ورژن سرور و کلاینت سوکت یکی باشد
‼️اگر نمیخواید اطلاعات فایل واکشی بشه و فشرده سازی انجام بشه میتونید 
       از لایبراری fluent-ffmpeg - ffprobe-client صرف نظر کنید (برای نوع های مدیا لازم هستن)

 

دریافت فایل فشرده کد در تلگرام