سلام من میخام لینک دانلود امن و زماندار ایجاد کنم برای فایل هام
روت
Route::get('episodes/{episode}/', [FrontendEpisodeController::class , 'download'])->name('download.file')->middleware('signed');
کنترلر
public function download(Request $request , Episode $episode)
{
return \Illuminate\Support\Facades\URL::temporarySignedRoute('download.file' , now()->addSeconds(30) , ['user' => auth()->user()->id , 'path' => $episode->files ]);
}
توی تگ a هم برای اینکه بر اساس لینک زمان دار باشه نمیدونم چطوری href رو تعریف کنم
من به این شکل تعریف کردم که اصلا اون توکن زمان دار براش اعمال نمیشه
<a href="{{ url( $episode->file ) }}"> دانلود </a>
ممنون میشم راهنمایی کنید
سلام به شما، برای انجام این کار شما میتونید از کتابخونه URL در لاراول استفاده بکنید. مشابه کد زیر :
use Illuminate\Support\Facades\URL;
return URL::temporarySignedRoute(
'unsubscribe', now()->addMinutes(30), ['user' => 1]
);
در کد بالا شما میتونید لینک مدت زمان دار ایجاد بکنید ، همچینن میتونید تعریف کنید چندبار کاربر بتونه اون لینک رو دانلود بکنه ، توی کد بالا لینک ایجاد شده فقط 30 دقیقه اعتبار داره و کاربر یکبار میتونه دانلود بکنه.
موفق باشید.
@ehsndvr
ممنونم من الان باید این تیکه کد که فرستادید توی کنترلر بزارم؟
توی تگ a به این شکل نوشتم که لینک عادی دانلود میشه
<a href="{{ url( $episode->file ) }}"> دانلود </a>
url به چه صورت باید بنویسم که لینک زمان دار ارسال بشه ؟
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟