Чтобы загрузить файлы из папки хранения в Laravel, вы можете использовать различные методы, предоставляемые инфраструктурой Laravel. Вот несколько методов с примерами кода:
Метод 1: использование функции response()
use Illuminate\Support\Facades\Storage;
use Illuminate\Http\Response;
public function downloadFile($filename)
{
$path = storage_path('app/public/' . $filename);
if (!Storage::exists($path)) {
abort(404);
}
return response()->download($path);
}
Метод 2: использование метода download()
use Illuminate\Support\Facades\Storage;
public function downloadFile($filename)
{
$path = storage_path('app/public/' . $filename);
if (!Storage::exists($path)) {
abort(404);
}
return Storage::download($path);
}
Метод 3: использование метода response()->file()
use Illuminate\Support\Facades\Storage;
use Illuminate\Http\Response;
public function downloadFile($filename)
{
$path = storage_path('app/public/' . $filename);
if (!Storage::exists($path)) {
abort(404);
}
return response()->file($path);
}
Метод 4. Использование метода Storage::response()
use Illuminate\Support\Facades\Storage;
use Illuminate\Http\Response;
public function downloadFile($filename)
{
$path = storage_path('app/public/' . $filename);
if (!Storage::exists($path)) {
abort(404);
}
return Storage::response($path);
}
Метод 5: использование метода Storage::download()
use Illuminate\Support\Facades\Storage;
public function downloadFile($filename)
{
$path = storage_path('app/public/' . $filename);
if (!Storage::exists($path)) {
abort(404);
}
return Storage::download($path);
}
Эти методы используют фасад StorageLaravel для доступа и загрузки файлов из папки хранилища. В примерах предполагается, что файлы хранятся на диске public, но вы можете изменить имя диска в соответствии с конфигурацией вашего хранилища.