загружать разные типы файлов с laravel - PullRequest
1 голос
/ 14 июля 2020

Несколько дней безуспешно пытаюсь загрузить файлы. если я заполню форму и нажму «Отправить», сохраните эту ошибку: Упс! При вводе данных возникли некоторые проблемы. Содержимое должно быть файлом типа: 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();

           
        });
    }

заранее спасибо за вашу помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...