【发布时间】:2018-05-04 09:01:55
【问题描述】:
我希望能够在Laravel 上的全局middleware 中检测图像。
我的目标是制作middleware,检测当前是否有图片正在上传,然后检测其大小并进行操作。
这可能吗?
我继承了一个项目,需要操作每个全局图像upload,但是有太多单独的脚本要单独更改它们,我需要某种方法来全局更改它们。
我愿意接受建议!
【问题讨论】:
标签: php laravel-5 middleware
我希望能够在Laravel 上的全局middleware 中检测图像。
我的目标是制作middleware,检测当前是否有图片正在上传,然后检测其大小并进行操作。
这可能吗?
我继承了一个项目,需要操作每个全局图像upload,但是有太多单独的脚本要单独更改它们,我需要某种方法来全局更改它们。
我愿意接受建议!
【问题讨论】:
标签: php laravel-5 middleware
<?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);
}
}
【讨论】:
The file "picture.jpg" exceeds your upload_max_filesize ini directive (limit is 2048 KiB).