Paradox
2 سال پیش توسط Paradox مطرح شد
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="{{ url( $episode->file ) }}"> دانلود  </a>                          

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


ثبت پرسش جدید
احسان داوری
تخصص : برنامه نویس
@ehsndvr 2 سال پیش مطرح شد
1

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

use Illuminate\Support\Facades\URL;

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

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

موفق باشید.


Paradox
تخصص : در حال یادگیری
@paradox 2 سال پیش مطرح شد
0

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

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

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


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

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