سلام اساتید وقتتون بخیر
من یه فایل دارم که روی سرور دانلود گذاشتمش.
میخوام از تو سایت هر کسی روی دکمه دانلود میزنه این فایل دانلود بشه.
کدهای زیر رو امتحان کردم ولی فایل ها حجیمه و نمیشه روی پوشه 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);
}
سلام
یک پیشنهاد دارم براتون
یک لاراول بدونه نیاز به دیتابیس روی هاست دانلود نصب کنید و appkey پروژه لاراول روی هاست دانلود با هاست اصلی یکی باشه
زمانی که کاربر مجاز به دانلود بود یک لینک مثل زیر بسازی و هدایتش کنی:
https://dl.test.com/download/example.zip?secret={{ encrypt(Request::ip().'-'.time()) }}
که باعث بشه هم لینکت مدت دار باشه هم اینکه قابلیت به اشتراک گذاشتن نداشته باشه
و در سمت هاست دانلودت تاریخ و ip رو چک کنی که درست باشه و بعدش اجازه دانلود بدی
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟