Привет, я пытаюсь исправить ошибку загрузки Laravel, с которой я имею дело. У меня есть правильная настройка маршрута и правильная функция в контроллере. Я также могу подтвердить, что у меня есть доступ к файлу, потому что я создал файл с использованием одного и того же маршрута и вернул его. Сделав это, я смог успешно вернуть содержимое файла. Однако, когда я пытаюсь использовать кнопку из представления и вызывать функцию контроллера, я получаю эту ошибку:
FileNotFoundException in File.php line 37: The file "The file "2016-04-04_07-21-50 - Pinging host: 192.168.2.1 2016-04-04_07-21-50 - Host 192.168.2.1 is up! 2016-04-04_07-21-50 - Pinging host: 192.168.2.2 2016-04-04_07-21-53 - Pinging host: 192.168.2.3 ...
Теперь вот код, который привел к этой ошибке:
show.blade.php
<a class="btn btn-default col-md-12" href="/getDownload/{{ $now }}" role="button">Download Today's Log</a>
HonoursController.php
public function getDownload($id) { $file = File::get("../resources/logs/$id"); $headers = array( 'Content-Type: application/octet-stream', ); #return Response::download($file, $id. '.' .$type, $headers); return response()->download($file, $id.'txt', $headers); }
То, что я догадался, заключается в том, что я получаю 500 HTTP-ошибок. Однако моя инспекция не предоставляет мне никакой другой информации. Любая идея, что происходит?
Попробуй это:
public function getDownload($id) { // $file = File::get("../resources/logs/$id"); $headers = array( 'Content-Type: application/octet-stream', ); #return Response::download($file, $id. '.' .$type, $headers); return response()->download("../resources/logs/$id", $id.'txt', $headers); }
Из документов:
Метод загрузки может использоваться для генерации ответа, который заставляет браузер пользователя загружать файл по заданному пути.
return response () -> скачать ($ pathToFile, $ name, $ headers);
Первым аргументом метода загрузки должен быть путь к файлу, а не сам файл.
Метод загрузки может использоваться для генерации ответа, который заставляет браузер пользователя загружать файл по заданному пути . …
Источник: https://laravel.com/docs/5.2/responses#file-downloads