Несколько дней безуспешно пытаюсь загрузить файлы. если я заполню форму и нажму «Отправить», сохраните эту ошибку: Упс! При вводе данных возникли некоторые проблемы. Содержимое должно быть файлом типа: jpeg, png, jpg, zip, pdf. пожалуйста, помогите мне найти мою ошибку. вот мой код:
Мое представление:
<form action="{{ route('course_element.store') }}" method="POST">
@csrf
<div class="form-group">
<label for="index">Index:</label>
<input type="text" name="index" class="form-control" placeholder="Index">
</div>
<input type = "hidden" id = "course_id" value="{{ $course->id }}" name= "course_id">
<div class="form-group">
<label for="format">Format</label>
<select class="form-control" name="format" id="format">
<option>Text</option>
<option>Image</option>
<option>Audio</option>
<option>Video</option>
</select>
</div>
<div class="form-group">
<label for="purpose">Ojectif</label>
<select class="form-control" name="purpose" id="purpose">
<option>Vocabulaire</option>
<option>Grammaire</option>
<option>Conjugaison</option>
<option>Prononciation</option>
<option>idioms</option>
</select>
</div>
<div class="form-group">
<label for="contenu">Contenu</label>
<input type="file" class="form-control-file" name="contenu" id="contenu" placeholder="Contenu" aria-describedby="fileHelpId" enctype="multipart/form-data">
<small id="fileHelpId" class="form-text text-muted">Help text</small>
</div>
<div class="form-group">
<textarea class="form-control" name="content" id="content" rows="3" placeholder="Contenu"></textarea>
</div>
<div class="col-xs-12 col-sm-12 col-md-12 text-center">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
маршрут:
Route::resource('course_element', 'Course_elementController');
Это поле 'contenu', которое должно содержать pdf, video, docx, изображения и др. c. это мой контроллер:
public function store(Request $request)
{
$course = $request->input('course_id');
$courses = Course::all();
$request->validate([
'index'=>'required',
'format'=>'required',
'purpose'=>'required',
'contenu'=>'nullable|required|mimes: jpeg, png, jpg, zip, pdf | max: 2048',
'content'=>'required',
'course_id'=>'required'
]);
Course_element::create($request->all());
$fileName = time().'.'.$request->file->extension();
$request->file->move(public_path('storage/'), $fileName);
return redirect()->route('course.show')
->with('success','course element created successfully.')
->with('contenu',$fileName);
}
public function show(Course_element $course_element)
{
//
$courses = Course::all();
return view ('course_element.show', compact('course_element', 'courses'));
}
миграция:
public function up()
{
Schema::create('course_element', function (Blueprint $table) {
$table->increments('id');
$table->integer('index');
$table->string('format');
$table->string('purpose');
$table->string('contenu');
$table->string('content');
$table->unsignedInteger('course_id')->nullable();
$table->foreign('course_id')->references('id')->on('course')->onDelete('cascade')->onUpdate('cascade');
$table->softDeletes();
$table->timestamps();
});
}
заранее спасибо за вашу помощь