storage
app
private
my-file.jpg
Route::get('/p/{filename}', function($filename){
$path = Storage::disk('private')->path($filename);
return response()->file($path);
})->name('private_images')->middleware('auth');
$fileUrl = route('private_images', ['filename' => 'my-file.jpg']);
return view('название', ['fileUrl' => $fileUrl]);
<img src="{{ $fileUrl }}" alt="">
<img src="your-site.ru/private-route/?file=2021/02/12/ksdjkfjlaksjf2sd1.jpg">
$fileUrl = "your-site.ru/private-route/?file=2021/02/12/ksdjkfjlaksjf2sd1.jpg";
return view('название', compact('fileUrl'))
Route::get('p/attach/{id}/{name}', [AttachmentController::class, 'show'])->name('attachment.show');
function private_url(Attachment $attachment)
{
return route('attachment.show', [
'id' => $attachment->id,
'name' => $attachment->original_name,
]);
}
route('attachment.show', $attachment)
, но оно не работает так. Поэтому хелпер над хелпером.
В противном случае, вам все равно придется создать в кроне задачу на запуск планировщика ларавел.
Вот такая команда примерно:
Запуск каждую минуту (все звездочки)