مهدی مرتضوی
2 سال پیش توسط مهدی مرتضوی مطرح شد
1 پاسخ

دانلود فایل از لینک خارجی لاراول

سلام اساتید وقتتون بخیر
من یه فایل دارم که روی سرور دانلود گذاشتمش.
میخوام از تو سایت هر کسی روی دکمه دانلود میزنه این فایل دانلود بشه.
کدهای زیر رو امتحان کردم ولی فایل ها حجیمه و نمیشه روی پوشه temp کپی کنم. خیلی زمان بره. راه دیگه ای برای دانلود هست؟

کدهای بخش ویو

 <a href="{{ route('download', ['file_id' => $file->id]) }}"class="btn-download">download</a>

کدهای بخش روت

Route::get('/download/{file_id}', 'App\Http\Controllers\DownloadController@download')->name('download');

کدهای بخش کنترلر

    public function download($file_id)
    {

        $file = File::where('id', $file_id)
            ->firstorFail();

        $file_path = $file->file_path;
        $filename = basename($file_path);
        $tempImage = tempnam(sys_get_temp_dir(), $filename);
        copy($file_path, $tempImage);

        return response()->download($tempImage, $filename);
    }

ثبت پرسش جدید
حسن محمدزاده
تخصص : مدیر فنی
@hassan 2 سال پیش آپدیت شد
2

سلام
یک پیشنهاد دارم براتون
یک لاراول بدونه نیاز به دیتابیس روی هاست دانلود نصب کنید و appkey پروژه لاراول روی هاست دانلود با هاست اصلی یکی باشه
زمانی که کاربر مجاز به دانلود بود یک لینک مثل زیر بسازی و هدایتش کنی:

https://dl.test.com/download/example.zip?secret={{ encrypt(Request::ip().'-'.time()) }}

که باعث بشه هم لینکت مدت دار باشه هم اینکه قابلیت به اشتراک گذاشتن نداشته باشه
و در سمت هاست دانلودت تاریخ و ip رو چک کنی که درست باشه و بعدش اجازه دانلود بدی


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

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