Laravel 5验证有效文件类型上的csv文件错误

Swa*_*iri 2 php csv validation laravel

我正在尝试验证上传的csv文件

$validator = Validator::make(
        [
            'file'      => $file,
            'extension' => strtolower($file->getMimeType()),
        ],
        [
            'file'      => 'required|in:csv',
        ]
    );
Run Code Online (Sandbox Code Playgroud)

验证程序无法提供带有消息的有效csv文件 The file must be a file of type: csv.

如果我删除验证器通过in:csv.

难道我做错了什么?

PS - $file可用且标准上传文件类型object(Symfony\Component\HttpFoundation\File\UploadedFile)

Chr*_*end 9

尝试改变

$validator = Validator::make(
    [
        'file'      => $file,
        'extension' => strtolower($file->getMimeType()),
    ],
    [
        'file'      => 'required|in:csv',
    ]
);
Run Code Online (Sandbox Code Playgroud)

$validator = Validator::make(
    [
        'file'      => $file,
        'extension' => strtolower($file->getClientOriginalExtension()),
    ],
    [
        'file'          => 'required',
        'extension'      => 'required|in:csv',
    ]
);
Run Code Online (Sandbox Code Playgroud)


Iva*_*ova 5

如果您要上传 CSV 文件,则应允许以下 MIME 类型:

'application/vnd.ms-excel','text/plain','text/csv','text/tsv'
Run Code Online (Sandbox Code Playgroud)

同样在 Laravel 5 中:

$rules =  [
    'file'          => 'required',
    'extension'      => 'required|mimes:csv'
];
Run Code Online (Sandbox Code Playgroud)

来自文档:(http://laravel.com/docs/5.0/validation

Validator 类提供了一些用于验证文件的规则,例如sizemimes等。验证文件时,您可以简单地将它们与其他数据一起传递到验证器中。