Хотите, чтобы пользователь мог загрузить файл из среды Laravel, следуя инструкциям с сайта Laravel. а>.
Проблема: всплывающее окно для загрузки файла не отображается.
Устранение неполадок:
Права устанавливаются соответственно.
sudo chown -R www-data:www-data storage sudo chmod -R 775 storage
Проверено как с Firefox, так и с Chrome.
Запустил приложение Laravel, чтобы принудительно использовать новый порт.
php artisan serve &
Файл существует, и я не получаю никаких ошибок. Эхо-текст виден после нажатия триггера, но это гарантирует, что поток (роут-›форма-›контроллер) работает.
Я создал подключение к хранилищу ссылок, описанное здесь:
php artisan storage:link
Наблюдения:
У меня загрузка работает. У меня был метод run в трейте, который запускал остальные методы трейта. Если установить маршрут непосредственно к методу загрузки, похоже, он работает. Не уверен, почему возникает проблема с вызовом метода запуска из маршрута.
[Мой контроллер]
public function downloadFile()
{
echo "string";
$filename = 'file.png';
// Test-1
return response()->download(
storage_path(
'/app/public/'. $filename
)
);
// Test-2
// return response()->download(
// public_path(
// 'storage/' . $filename
// )
// );
}
storage_path('app/public/'.$filename)
(без/
передapp
) - person Lyzvaleska   schedule 12.08.2020echo
, это не удастся. - person apokryfos   schedule 12.08.2020