【问题标题】:Error Call to a member function store() on string - images upload error错误调用字符串上的成员函数 store() - 图像上传错误
【发布时间】:2021-09-25 17:08:51
【问题描述】:

我正在尝试在公共函数 create 上进行图像上传,但是当我单击按钮发送表单并进行注册时,此错误出现“错误调用字符串上的成员函数 store()”-我已经尝试在表单中包含“enctype=”multipart/form-data”,但没有成功。有人可以帮帮我吗?

公共功能创建

public function create(Request $request)
    {
        
        $user = Auth::user()->id;
        $data = $request->all();

        /*if($request->image->isValid()){*/

           $image = $request->image->store('livros');
           $data['image'] = $image;
     /*   }*/
        Livro::create([
            'users_id' => $user,
            'namel' => $request['namel'],
            'autor' => $request['autor'],
            'editora' => $request['editora'],
            'categoria'=> $request['categoria'],
            'classificação'=>$request['classificação'] ,
            'descricao'=>$request['descricao'],
            'image'=>$request['image'],
        ]);
        return view('livros/cadastro');

        
    }

形成刀片文件

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <div class="card" >
            <br>
            <div class="textocs">
               <h4>CADASTRO DE LIVROS</h4>

               </div>
<br><br>
                <div class="card-body">
                    <form method="POST" enctype=”multipart/form-data” action="{{ url('/cadastro_livros') }}">
                        @csrf
                            
                            <div class="col-md-6">
                                <input type="file" class="form-control @error('image') is-invalid @enderror" name="image" value="{{ old('image') }}" >

                                @error('image')
                                    <span class="invalid-feedback" role="alert">
                                        <strong>{{ $message }}</strong>
                                    </span>
                                @enderror

                                <br>
                            </div>
                        </div>

                        

                        <br><br>
                        
                               
                    </form>
           
        </div>
    </div>
</div>
@endsection

【问题讨论】:

  • 请告诉我们你的web.php,我确定你有一个错误。
  • Route::post('/upload', UploadFoto::class)->name('upload.foto.user');

标签: mysql laravel laravel-8


【解决方案1】:

将您的路线更改为:

Route::post('/upload', 'UploadFoto@store')->name('upload.foto.user');

【讨论】:

  • 谢谢!此解决方案解决了该错误,但现在出现了一个新错误“此路由不支持 POST 方法。支持的方法:GET、HEAD。”
猜你喜欢
  • 2019-06-20
  • 2017-12-17
  • 2022-11-10
  • 2017-03-24
  • 2018-09-06
  • 2018-11-09
  • 2019-02-11
  • 1970-01-01
相关资源
最近更新 更多