функция загрузки laravel возвращает пустой файл

#laravel #download #response

Вопрос:

Этот код laravel загружает файл, но его содержимое пусто

 $doc = Document::find($id);
$filePath = Storage::path($doc->path);
$header = ['Content-Type: application/pdf'];
return response()->download($filePath, $doc->name, $header);
 

Комментарии:

1. dd($doc->путь) и проверьте, что вы получаете.также, где хранятся файлы пути

2. возврат хранилища::загрузка($doc->путь); также вы можете сделать

Ответ №1:

Вы можете использовать загрузку хранилища.Убедитесь $doc->path , что возвращен полный путь к папке хранения или, если возвращается только имя файла, вам нужно добавить его перед именем файла

 $doc = Document::find($id);
return Storage::download($doc->path);
 

Ссылка:https://laravel.com/docs/8.x/файловая система#загрузка файлов

Комментарии:

1. Файлы хранятся в хранилище/приложении/документах. Попробовал код выше, но все равно содержимое моего файла пустое

2. Хранение::загрузка(‘документы/файл2.pdf’); это пример

3. также то, что вы получаете в $doc->путь