Чтобы загрузить файл с помощью Laravel, вы можете использовать несколько методов. Вот несколько подходов:
Метод 1: загрузка файла по URL-адресу
Вы можете использовать метод response()->download()для загрузки файла по заданному URL-адресу. Вот пример:
use Illuminate\Support\Facades\Response;
public function downloadFileFromUrl()
{
$fileUrl = 'https://example.com/path/to/file.pdf';
$fileName = 'file.pdf';
return response()->download($fileUrl, $fileName);
}
Метод 2: загрузка файла из хранилища
Если файл, который вы хотите загрузить, хранится локально в каталоге хранилища приложения Laravel, вы можете использовать response()->download()метод с путем к файлу. Вот пример:
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Response;
public function downloadFileFromStorage()
{
$filePath = Storage::path('path/to/file.pdf');
$fileName = 'file.pdf';
return response()->download($filePath, $fileName);
}
Метод 3: потоковая передача файла для загрузки
Если вы хотите передать файл из приложения для загрузки в потоковом режиме, вы можете использовать метод response()->streamDownload(). Этот метод позволяет вам настроить заголовки ответов файла. Вот пример:
use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Storage;
public function streamDownloadFile()
{
$filePath = Storage::path('path/to/file.pdf');
$fileName = 'file.pdf';
return response()->streamDownload(function () use ($filePath) {
echo file_get_contents($filePath);
}, $fileName);
}