dongmangwei3822 2019-07-14 16:59
浏览 135

如何验证mimes文件laravel

So I'm trying to validate the uploaded image to be only of this type mimes: jpeg, jpg, png but the problem is if I put the code like this:

'photos' => 'required|array|max:5|mimes:jpeg,jpg,png',
'photos.*' => 'mimes:jpeg,jpg,png', 

It validates as expected like this The image must be a file of type:jpg,jpeg,png only, but even if I upload the jpg or png file still shows The image must be a file of type:jpg,jpeg,png only. And if I put the code like this:

'photos' => 'required|array|max:5',
'photos.*' => 'mimetypes:image/jpeg,image/png,image/jpg',

It does not validate so I can even upload a video, psd, and other files which are not of this type mimes:jpeg,jpg,png . How can I validate the uploaded file to be only of this type mimes:jpeg,jpg,png?

Controller

$this->validate(
    $request, 
    [
    'photos' => 'required|array|max:5',
    'photos.*' => 'mimetypes:image/jpeg,image/png,image/jpg',
    ]
);
  • 写回答

2条回答 默认 最新

  • dqt20140129 2019-07-14 17:23
    关注

    this is correction from your code

    'photos' => 'required|array|max:5'
    'photos.*' => 'mimes:jpeg,jpg,png',
    

    and make sure you put enctype="multipart/form-data" in your form like this

    <form action url enctype="multipart/form-data">
    

    this made browser actually send file(s) to server (view to controller),

    then mimes can recognize/catch the file extension you sent from browser

    this might explain better from laravel documentation Laravel validation rules

    评论

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度