이미지 당 허용 할 수있는 최대 크기는 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);
위의 작품,하지만 문제는 큰 이미지입니다 :
을 컨트롤러 방법 : 여기에 내가 시도하는 것이다. 가능한 한 빨리 크기를 메모리/처리 시간을 낭비하지 않는 10 MB 제한을 초과하고 이미지 허용 된 파일 크기 제한을 초과하는 사용자에게 반환 오류를 감지하고 싶습니다.
100MB 이미지를 base64로 보내면 Laravel에서 PostTooLargeException
이라는 오류가 발생합니다. 물론 base64의 크기가 너무 크기 때문입니다. 그렇다면 실제 이미지가 10MB 한도를 넘었다는 사실을 어떻게 감지하고 사용자에게 정상적인 오류를 반환 할 수 있습니까?
나의 실수, 그것을 지적 해 주셔서 감사합니다 :) – Wonka