【问题标题】:im trying to upload multiple images but when I push this code on server it gives me the hashName error我试图上传多张图片,但是当我在服务器上推送这段代码时,它给了我 hashName 错误
【发布时间】:2021-05-17 18:52:09
【问题描述】:

我试图上传多张图片,但是当我在服务器上推送此代码时,它给了我 hashName 错误。

这是错误:

在 null 上调用成员函数 hashName()

HTML 代码:

<form action="{{ route('products.store') }}" method="post" enctype="multipart/form-data">
        <!-- Add CSRF Token -->
        @csrf
    <div class="form-group">
        <label>Product Name</label>
        <p> le nom du theme <input type="text" class="form-control" name="name" required></p>
        </br>
        <p>la description du theme<input type="text" class="form-control" name="description" required</p>
       <div class="form-group">
       <input type="file" name="image" required>
       <input type="file" name="image2" required>
       <input type="file" name="image3" required>
       <input type="text" class="form-control" name="prix" required>
       <input type="text" class="form-control" name="nb_download" required>
       <input type="file" name="file" required>
       <button type="submit">Submit</button>
    </div>
</form>

路线:

route::resource('products','App\http\controllers\TemplatesController');

templatesController(存储功能):

 public function store(Request $request)
    {
            
            $templates = new templates([
                "name" => $request->get('name'),
                "description"=>$request->get('description'),
                "image_path"=>$request->image1->hashName(),
                "image_path2"=>$request->image2->hashName(),
                "image_path3"=>$request->image3->hashName(),
                "prix"=>$request->get('prix'),
                "file_path" => $request->file->hashName(),
                "nb_download"=>$request->get('nb_download')
            ]);

            $request->image1->move(public_path('images'));
            $request->image2->move(public_path('images'));
            $request->image3->move(public_path('images'));


            $templates->save(); 
            
        

        return view('products.create');

    }

【问题讨论】:

  • 您对hashName()(例如"image_path"=&gt;$request-&gt;image1-&gt;hashName())的调用是在一个空对象上完成的。换句话说,其中一个$request 字段在您的 templatesController new templates 语句中返回 null。在你推送它之前它是否有效?
  • 谢谢康纳,是的,它成功了!而且我没有任何空对象。不知道是什么问题!
  • 你肯定有一个空对象,否则你不会得到错误。 “在 null 上调用成员函数 hashName()” 表示您调用 hashName() 的变量未设置为实例。例如,如果$request-&gt;image1 为空,则不能调用hashName()。尝试记录$request 的值以验证它是否设置为您认为的值。它可能缺少一个字段值。
  • 谢谢康纳这是一个错字!输入类型名称是“image”而不是“image1”。

标签: file-upload hash upload laravel-8 image-upload


【解决方案1】:

这是一个错字!输入类型名称是“image”而不是“image1”。 ——

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    相关资源
    最近更新 更多