无法在Laravel中使用vue.js上传多张图片

时间:2020-08-11 13:01:53

标签: laravel vue.js laravel-5 vuejs2

我想在laravel中上传多个图像,因为我正在使用以下代码,但出现错误:

消息:“调用成员函数getClientOriginalExtension() 字符串

formData.append('gallery_img[]', this.form.gallery_img); 
uploadGalleryImg(e){
              
                var files = e.target.files;
                if (!files.length)
                    return;

                for (var i = files.length - 1; i >= 0; i--) {
                    this.form.gallery_img.push(files[i]);
                }
            },       

控制器:

 if (count(array($request->gallery_img))) {
        foreach ($request->gallery_img as $image) {
            $fileName = time().'.'.$image->getClientOriginalExtension();
            $image->move(public_path('img/gallery_img/'), $fileName);
        }
 }

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试使您的foreach像这样:

foreach ($request->gallery_img as $key => $image)

问题是$ image被认为是一个字符串,所以我认为这是关键,其值是实际的图像。 如果那不起作用,而您只想从文件名中获取扩展名,则可以将explode native php函数与“。”一起使用。计分器。

$explodedImage = explode(".",$image);
$extension = $explodedImage[count($explodedImage)-1]