Laravel 5.1验证在正确的mime /扩展名上失败

问题描述 投票:2回答:3

我使用请求类进行验证。我有一个请求类,其中包含这段代码:

public function rules()
{
    $rules = [
        'attachment'  => 'mimes:png,jpg,gif'
    ];
}

在我的控制器中执行$request->file('attachment')->getClientMimeType()会返回image/png

然而,当我尝试发送png文件时,我仍然收到验证错误:“附件必须是以下类型的文件:png,jpg,gif。”

我正在使用名为Paw的其余客户端,通过Multipart form将文件发送到后端。>

我错过了一步吗?

编辑:我不能将image用作验证规则,因为我最终想开始接受pdf / doc和其他格式(image失败了)。到目前为止,PDF和doc都还无法通过验证。

我使用请求类进行验证。我有一个请求类,其中包含这段代码:public function rules(){$ rules = ['attachment'=>'mimes:png,jpg,gif']; } ...

php validation laravel-5 laravel-5.1
3个回答
2
投票

我知道该线程很旧,但是这可能会对其他可能遇到相同问题的人有所帮助。顺便说一下,我正在使用“ attachments []”作为输入名称。我使用它来工作:


1
投票

根据W3Schools,当您上传文件时,必须提及multipart/form-data,因此不会对任何字符进行编码,这可能会导致验证失败。


0
投票

我也遇到了这个问题,对我没有任何帮助。原因是代码在本地运行良好,并且在我的ubuntu服务器上在线失败。对我有用的是删除laravel验证并使用常规的php验证。有时,简单才是有效的方法。enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.