راکت

لینک دانلود امن و زماندار

2 پاسخ

سلام من میخام لینک دانلود امن و زماندار ایجاد کنم برای فایل هام
روت

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="https://roocket.ir/{{ url( $episode->file ) }}"> دانلود  </a>                          

ممنون میشم راهنمایی کنید

Paradox
Paradox
@paradox
ثبت پرسش جدید

پاسخ‌ها

2
احسان داوری
احسان داوری
@ehsndvr

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

سلام به شما، برای انجام این کار شما میتونید از کتابخونه URL در لاراول استفاده بکنید. مشابه کد زیر :

use Illuminate\Support\Facades\URL;

return URL::temporarySignedRoute(
    'unsubscribe', now()->addMinutes(30), ['user' => 1]
);

در کد بالا شما میتونید لینک مدت زمان دار ایجاد بکنید ، همچینن میتونید تعریف کنید چندبار کاربر بتونه اون لینک رو دانلود بکنه ، توی کد بالا لینک ایجاد شده فقط 30 دقیقه اعتبار داره و کاربر یکبار میتونه دانلود بکنه.

موفق باشید.

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

@ehsndvr
ممنونم من الان باید این تیکه کد که فرستادید توی کنترلر بزارم؟
توی تگ a به این شکل نوشتم که لینک عادی دانلود میشه

                        <a href="https://roocket.ir/{{ url( $episode->file ) }}"> دانلود  </a>                          

url به چه صورت باید بنویسم که لینک زمان دار ارسال بشه ؟

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

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

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