我正在考虑能够在middleware
上的全局Laravel
中检测图像。
我的目标是制作middleware
,检测当前是否有上传的图片,然后检测其大小并进行操作。
这可能吗?
我继承了一个项目,并且需要操纵每个全局图像upload
,但是有太多单独的脚本需要单独更改它们,我需要某种方式来全局更改它们。 / p>
我愿意接受建议!
答案 0 :(得分:1)
<?php
namespace App\Http\Middleware;
use Closure;
use Symfony\Component\HttpFoundation\Response;
class ImageInterceptorMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
foreach (array_flatten($request->files->all()) as $file) {
$size = $file->getClientSize(); // size in bytes!
$onemb = pow(1024, 2); // https://stackoverflow.com/a/2510446/6056864
if ($size > $onemb) {
abort(Response::HTTP_UNPROCESSABLE_ENTITY);
}
}
return $next($request);
}
}