Я хочу создать гиперссылку для загрузки файла в папку хранения / приложения / общедоступной. Я использую это в лезвии
<a href="{{ asset('storage/app/public/1489082996.docx') }}" download="{{ asset('storage/app/public/1489082996.docx') }}"> Read Paper</a>
Но это покажет мне файл ошибки не найден. Что мне делать
делать
это моя файловая система.php
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'visibility' => 'public',
],
Простой способ, позволяющий хранить ваши файлы в папке хранилища и загружать без системных изменений: (в laravel 5.3)
Вы можете сделать нормальную ссылку на файл:
<a href="/download/1489082996.docx"> Read Paper</a>
Затем вам нужно настроить ваши маршруты / web.php
Route::get('/download/{file}', function ($file='') {
return response()->download(storage_path('app/public/'.$file));
});
Это должно открыть диалог загрузки для всех типов файлов, а также для IMG и PDF. Если вы хотите показывать файлы онлайн, а не скачивать, вам следует использовать метод файла:
return response()->file(storage_path('app/public/'.$file));
Пути к активам относительно /public
каталог. Так что вы бы просто хотели asset('1489082996.docx')
при условии, что вы правильно установили связь с каталогом хранилища php artisan storage:link
,