Вход Регистрация
Файл: vendor/intervention/image/src/Drivers/Imagick/Decoders/Base64ImageDecoder.php
Строк: 55
<?php

declare(strict_types=1);

namespace 
InterventionImageDriversImagickDecoders;

use 
InterventionImageExceptionsDecoderException;
use 
InterventionImageExceptionsImageDecoderException;
use 
InterventionImageInterfacesImageInterface;
use 
InterventionImageTraitsCanDetectImageSources;

class 
Base64ImageDecoder extends BinaryImageDecoder
{
    use 
CanDetectImageSources;

    
/**
     * {@inheritdoc}
     *
     * @see DecoderInterface::supports()
     */
    
public function supports(mixed $input): bool
    
{
        return 
$this->couldBeBase64Data($input);
    }

    
/**
     * {@inheritdoc}
     *
     * @see DecoderInterface::decode()
     */
    
public function decode(mixed $input): ImageInterface
    
{
        try {
            
$data $this->decodeBase64Data($input);
        } catch (
DecoderException) {
            throw new 
ImageDecoderException('Unable to Base64-decode image from string');
        }

        try {
            return 
parent::decode($data);
        } catch (
DecoderException) {
            throw new 
ImageDecoderException('Base64-encoded data contains unsupported image type');
        }
    }
}
Онлайн: 2
Реклама