Вы должны выполнить следующие шаги:
У меня есть файл PDF для хранения в storage/app/pdf
В контроллере:
public function __construct()
{
$this->middleware('auth');
}
public function index(Request $request, $file)
{
$file = storage_path('app/pdf/') . $file . '.pdf';
if (file_exists($file)) {
$headers = [
'Content-Type' => 'application/pdf'
];
return response()->file($file, $headers);
} else {
abort(404, 'File not found!');
}
}
, если laravel ниже 5.2: Добавьте use Response;
выше класса контроллера в контроллере.
public function index(Request $request, $file)
{
$file = storage_path('app/pdf/') . $file . '.pdf';
return Response::make(file_get_contents($file), 200, [ 'Content-Type' => 'application/pdf',
'Content-Disposition' => 'inline; filename="'.$file.'"'
]);
}
In web.php
Route::get('/preview-pdf/{file}', 'Yourcontroller@index');
В виде блейда:
<a href="{{ URL('/preview-pdf/'.$file )}}" target="_blank">PDf</a>