راکت

chunk آپلود

4 پاسخ

سلام روشی برای chunk کردن فایل های بزرگ به منظور آپلود کسی از دوستان سراغ داره؟

ثبت پرسش جدید

پاسخ‌ها

4
حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

درود بر شما فایل آپلود رو در سمت سرور chunk میکنند تا قابلیت توقف آپلود یا ادامه دانلود هم داشته باشه
البته پیاده سازیش مقداری سخت هست ولی کار جالبیه

محمد امیری
محمد امیری
@mohammadeng3731

تخصص: backend coder

@hesammousavi ممنون از پاسختون. پس سمت سرور دنبالش باشم.

شاید پاسخ شما همین‌جا باشد

محمد امیری
محمد امیری
@mohammadeng3731

تخصص: backend coder

@hesammousavi

گشتم و تونستم کد زیر رو بنویسم که میاد کم کم فایل رو میخونه و میریزه تو یک فایل دیگه و اگه اینترنتم قطع شه از ادامه فایل رو آپلود میکنه البته پکیج بودش اما دوست داشتم خودم بزنم هرچند ضعیف یه نگاه به کدم بندازین ممنون میشم نظرتونو بگین:

   $file = request()->file('file');
    $file_size = $file->getSize();
    $file_name = $file->getClientOriginalName();
    $resource = fopen($file, 'r');
    $uploaded_file = 0;
    if (file_exists(public_path($file_name))) {
        $uploaded_file = intval(filesize(public_path($file_name)));
        fseek($resource, $uploaded_file);
    }
    $target_uploaded_file = fopen(public_path($file_name), 'a+');
    while ($uploaded_file < $file_size) {
        $file_content = fread($resource, 1 * 1024 * 1024);
        fwrite($target_uploaded_file, $file_content);
        $uploaded_file += 1 * 1024 * 1024;
        fseek($resource, $uploaded_file);
    }
    echo 'success upload';
حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

این کد زمانی اجرا میشه که فایلتون کامل روی سرورتون آپلود بشه
اون چیزی که من گفتم نسبت به این متفاوت هست

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام