イメージあたり10MBの制限があり、それ以上のサイズのコードは実行できません。私はそうする方法がわかりません。完全に小さな画像と上記の作品はLaravel 5.5 - 大きなBase64イメージのPostTooLargeExceptionの処理?
// Increase memory limit before processing
ini_set('memory_limit','256M');
$base64_image = $request->get('base64_image');
$image = Image::make($base64_image);
// Returns 0, looks like we have to encode image to get file size...
$image_size = strlen((string) $image);
Log::critical('image_size file size from string: ' . $image_size);
$image = $image->encode('jpg');
// Returns byte size
$image_size = strlen((string) $image);
Log::critical('image_size file size from string: ' . $image_size);
、しかし問題は、大きなイメージである:コントローラメソッドで
:ここに私が試したものです。私は、メモリ/処理時間を無駄にしないように、サイズが10MBの制限を超えていることを可能な限り早期に検出し、イメージが許容されるファイルサイズ制限を超えているというエラーをユーザーに返します。
100MBイメージをbase64として送信すると、Laravelは PostTooLargeException
というエラーをスローします。これはもちろん、post64のサイズが大きいためです。では、実際の画像が10MBの制限を超えていることを検出して、それがあればユーザーに優雅なエラーを返します。
私の間違い、それを指摘してくれてありがとう:) – Wonka