【问题标题】:Laravel 5.4 upload multiple images with validation rulesLaravel 5.4 上传多张带有验证规则的图片
【发布时间】:2017-11-13 13:15:17
【问题描述】:

我正在使用以下代码上传多个图像,但我需要添加一些验证规则,例如文件应该是具有上述扩展名和文件大小的图像。目前它上传所有内容。

这是我的html视图代码:

<input required="" type="file" name="photos[]" id="photos" multiple="" directory="" webkitdirectory="" mozdirectory="">

这是我的控制器代码:

foreach ($request->photos as $photo) {
    $filename = $photo->store('photos');
    $data['photoName'] = $filename;
    PhotosModel::SavePhotos($data);
    $message = "Photos Added Successfully";
}

我在 foreach 循环内和循环之前添加了以下代码,但它给出的错误是照片必须是图像并且属于上述类型。

$this->validate($request, [
    'photos' => 'required|image|mimes:jpeg,png,jpg,gif|max:2048'
]);

我想上传所有图片并停止上传其他文件。谢谢!

【问题讨论】:

    标签: validation file-upload laravel-5.4


    【解决方案1】:

    试试这个(在你的 foreach 之前):

    $this->validate($request, [
        'photos' => 'required',
        'photos.*' => 'image|mimes:jpeg,png,jpg,gif|max:2048'
    ]);
    

    【讨论】:

    • 我试过了,它有效,但我需要如果用户上传 20 张图片和 1 张 pdf,它应该上传这些图片但跳过 pdf。
    猜你喜欢
    • 2015-09-14
    • 2016-10-30
    • 2018-01-12
    • 1970-01-01
    • 2017-06-21
    • 2017-08-02
    • 2021-06-11
    • 1970-01-01
    • 2019-09-05
    相关资源
    最近更新 更多