Действие Laravel nova загружает файл, причины: Ошибка - нет файла

Я хочу создать файл и загрузить его во время действия Laravel.

Я использую следующий код:

    public function handle(ActionFields $fields, Collection $models)
    {
        Storage::disk('local')->put('file.txt', 'example');
        $url = Storage::disk('local')->url('file.txt');
        return Action::download($url, 'file.txt');
    }

Это вызывает следующую ошибку:

Failed - no file

Что я здесь делаю неправильно?

Это проблема пути. Это может помочь: return Action::download(storage_path('app/public/' . $filename));

Ghanshyam Nakiya 01.05.2019 09:42

Спасибо за ваше предложение, Ганшьям. Однако это не работает.

Mister Verleg 06.05.2019 10:27
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
3 175
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Не знаю, откуда появилось это сообщение об ошибке, но это может быть следующая проблема. Вызов return Action::download($url, 'file.txt') laravel nova даст указание браузеру загрузить файл по указанному URL-адресу. Как уже упоминалось, здесь этот URL-адрес (в зависимости от вашей конфигурации), вероятно, будет относительным URL-адресом /storage/file.txt. Таким образом, браузер попытается загрузить http(s)://domain/storage/file.txt, которого там может и не быть. Упомянутые выше документы содержат решение для этого.

Если вы даже не хотите создавать файл, который, возможно, потребует очистки и защиты, если данные конфиденциальны, вы также можете указать URL-адрес на маршрут и выполнить обработку в контроллере.

Другие вопросы по теме