我想在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);
}
}
答案 0 :(得分:0)
尝试使您的foreach像这样:
foreach ($request->gallery_img as $key => $image)
问题是$ image被认为是一个字符串,所以我认为这是关键,其值是实际的图像。 如果那不起作用,而您只想从文件名中获取扩展名,则可以将explode native php函数与“。”一起使用。计分器。
$explodedImage = explode(".",$image);
$extension = $explodedImage[count($explodedImage)-1]