Чтобы загрузить PDF-файл с помощью Laravel, вы можете воспользоваться несколькими способами. Вот несколько примеров с фрагментами кода:
Способ 1: использование встроенной функции загрузки файлов
<form action="{{ route('upload') }}" method="POST" enctype="multipart/form-data">
@csrf
<input type="file" name="pdf_file">
<button type="submit">Upload</button>
</form>
В вашем контроллере:
public function upload(Request $request)
{
if ($request->hasFile('pdf_file')) {
$file = $request->file('pdf_file');
$file->storeAs('pdfs', $file->getClientOriginalName(), 'public');
// Your logic to save the file path or perform any additional operations
return "File uploaded successfully.";
}
return "No file selected.";
}
Способ 2: использование стороннего пакета (например, файловой системы Laravel)
Сначала установите пакет:
composer require league/flysystem
В вашем контроллере:
use Illuminate\Support\Facades\Storage;
public function upload(Request $request)
{
if ($request->hasFile('pdf_file')) {
$file = $request->file('pdf_file');
$path = Storage::disk('public')->putFile('pdfs', $file);
// Your logic to save the file path or perform any additional operations
return "File uploaded successfully.";
}
return "No file selected.";
}
Метод 3. Использование специального пакета для загрузки файлов (например, библиотеки мультимедиа Laravel)
Сначала установите пакет:
composer require spatie/laravel-medialibrary
В вашей модели:
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
class Document extends Model implements HasMedia
{
use InteractsWithMedia;
}
В вашем контроллере:
public function upload(Request $request)
{
if ($request->hasFile('pdf_file')) {
$document = new Document;
$document->addMediaFromRequest('pdf_file')->toMediaCollection('pdfs');
// Your logic to save the file path or perform any additional operations
return "File uploaded successfully.";
}
return "No file selected.";
}
Это всего лишь несколько способов загрузить PDF-файл с помощью Laravel. Не забудьте изменить код в соответствии с вашими конкретными требованиями и настройками хранилища файлов.