百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

在 Laravel 中按大小验证 Base64 图像:操作指南

liuian 2025-03-14 18:46 48 浏览

作为Laravel开发人员,我们经常需要验证上传的图像,以确保它们满足一定的尺寸要求。开箱即用,Laravel的验证规则只适用于数值,不适用于base64编码的图像。max

在这篇文章中,我们将逐步扩展 Laravel 的验证以处理自定义 base64 图像大小验证。通过编写自定义验证规则,我们可以在应用中需要上传图像的任何位置重复使用此逻辑。

自定义验证规则

所有自定义验证规则都是通过扩展 in 方法注册的。首先,我们将使用 Laravel 的方法定义逻辑:
ValidatorbootAppServiceProviderValidator::extend

Validator::extend('base64_image_size', function ($attribute, $value, $parameters, $validator) {

  // Decode the image
  $decodedImage = base64_decode($value);

  // Get image size in kilobytes 
  $imageSize = strlen($decodedImage) / 1024;

  // Check if image is below max size
  return $imageSize <= $parameters[0]; 

});

在这里,我们正在解码 base64 编码的图像,以获得其二进制大小(以字节为单位)。然后我们转换为千字节以与参数中定义的最大大小进行比较。如果图像低于最大大小,则验证通过。

自定义错误消息

接下来,我们将使用以下方法自定义错误消息:Validator::replacer

Validator::replacer('base64_image_size', function ($message, $attribute, $rule, $parameters) {
  return str_replace([':attribute', ':max'], [$attribute, $parameters[0]], $message);
});

这将替换为字段名称和定义的最大大小。消息本身在语言文件中定义:
:attribute:maxresources/lang/xx/validation.php

'base64_image_size' => 'The :attribute must not be larger than :max KB.',

用法

最后,我们可以在验证期间使用此自定义规则:

$validator = Validator::make($request->all(), [
  'image' => 'required|base64_image_size:500',
]);

if ($validator->fails()) {
  // Image too large
} 

通过扩展 Laravel 的验证功能,我们构建了一种可重用的方式来验证整个应用程序中的 base64 图像大小。相同的方法可用于任何不适合内置规则的验证逻辑。

相关推荐

word2016是免费的吗(word2016版什么样)

对啊下载,安装输入序列号才能使用区别在于特点不同,office2016采用了高端拼接的方式呈现。整体更加时尚动感,辨识度极高,保留性能的同时也兼顾了不错的规格设计。2021稳重之中带着犀利,硬朗的线条...

如何修改路由器(如何修改路由器密码)

要修改无线路由器,您需要登录到路由器的管理界面。以下是如何进行的步骤:1.打开浏览器并输入路由器的IP地址。通常默认为192.168.1.1或192.168.0.1。如果不确定,请参考路由器的用户手...

电脑看视频卡是什么原因(电脑看视频非常卡)

网速原因,网速太慢会导致电脑看视频会卡。2、看视频的时候有其他程序在运用。3、电脑垃圾太多。4、电脑中病毒了。电脑看视频太卡怎么办:1、首先要确定是不是网速的原因,如果是网速慢,那么建议看视频选择“流...

哪个笔记本品牌性价比高(那个品牌笔记本电脑性价比最高)
哪个笔记本品牌性价比高(那个品牌笔记本电脑性价比最高)

有以下几款【微软SurfacePro6】SurfacePro6定位商务办本,二合一笔记本,它有足够惊人的外观,C面材质也使它具有很高的认知度,足够的性能完全可以满足用户的日常使用。产品采用英特尔酷睿i58系列CPU,主频1.6GH...

2026-01-01 05:55 liuian

光盘安装系统步骤(光盘安装系统的主要方法和步骤)
  • 光盘安装系统步骤(光盘安装系统的主要方法和步骤)
  • 光盘安装系统步骤(光盘安装系统的主要方法和步骤)
  • 光盘安装系统步骤(光盘安装系统的主要方法和步骤)
  • 光盘安装系统步骤(光盘安装系统的主要方法和步骤)
windows许可证即将过期怎么回事
windows许可证即将过期怎么回事

出现此情况的解决方法如下:1、如果在电脑出现“你的Windows许可证即将过期”窗口,然后在窗口中点击“转到设置”,2、点击完以后,需要找到安装的文件夹,需要注意的是安装的文件夹建议是C盘或者是系统盘。3、打开之后,在页面上找到一个红色按钮...

2026-01-01 04:55 liuian

笔记本键盘失灵错乱(笔记本键盘失灵按键错乱)
  • 笔记本键盘失灵错乱(笔记本键盘失灵按键错乱)
  • 笔记本键盘失灵错乱(笔记本键盘失灵按键错乱)
  • 笔记本键盘失灵错乱(笔记本键盘失灵按键错乱)
  • 笔记本键盘失灵错乱(笔记本键盘失灵按键错乱)
u盘在电脑上无法访问怎么办(为什么u盘在电脑上无法访问)

01U盘不被电脑识别。一般U盘打不开,很可能就是电脑系统自带的驱动的原因,我们可以开机按F8进入安全模式再退出,重启便可以了。02U盘接口供电不足,或许是USB连接的外口太多导致供电不足。我们可以使用...

笔记本电脑启动不起来是什么原因

11.检测电源线是否插好,电源线与电脑的接口是否有松动。22.检查充电器是否坏了,如果充电器坏了,那就换一个试试。33.如果不能,那就重新开机,一直按住F8键,使电脑进行最近一次的正确配置选项,再按回...

电脑的恢复出厂设置在哪里(电脑的恢复出厂设置在哪里找)
  • 电脑的恢复出厂设置在哪里(电脑的恢复出厂设置在哪里找)
  • 电脑的恢复出厂设置在哪里(电脑的恢复出厂设置在哪里找)
  • 电脑的恢复出厂设置在哪里(电脑的恢复出厂设置在哪里找)
  • 电脑的恢复出厂设置在哪里(电脑的恢复出厂设置在哪里找)
谷歌gmail邮箱(谷歌gmail邮箱下载)

吉邮Gmail中文名“吉邮”是全球最大的搜索引擎公司google推出的一款功能非常丰富的,容量达到2GB的免费电子邮箱,即E-mail……(gmail邮箱为争得竞争优势早已将邮箱扩容置2GB,但至...

光盘如何刻录文件(光盘如何刻录文件内容)

一句话概括:准备光盘和文件,启动软件选择刻录内容和速度,完成刻录并测试。详细介绍:刻录光盘是将电子文件的数字内容转录到光盘上进行存储的过程。主要分为以下几个步骤:第一,准备刻录光盘。需要准备空白可刻录...

更新包下载安装(更新器下载安装)
  • 更新包下载安装(更新器下载安装)
  • 更新包下载安装(更新器下载安装)
  • 更新包下载安装(更新器下载安装)
  • 更新包下载安装(更新器下载安装)
photoshop序列号过期怎么恢复

photoshop安装需要序列号解决方法如下:1、在ghostwin7系统中打开photoshopcs6安装程序,点击安装(我有序列号);2、选择接受;3、断开网(一定要断开,不然得重来!),输入...

显卡天梯图2019最新版(显卡天梯图2020年最新)
显卡天梯图2019最新版(显卡天梯图2020年最新)

显卡天梯图是用户自己上传的,用户自己测试的硬件搭配会影响显卡的性能发挥,他的cpu性能过低限制了显卡的性能发挥所以1650显卡不如960显卡。我这份显卡天梯图中gtx1650显卡的排行是比gtx960显卡高的,正常情况下1650显卡的性能也...

2026-01-01 00:05 liuian