def METHOD_NAME(self, data):
    """
    Check that the file-upload field data contains a valid image (GIF, JPG,
    PNG, etc. -- whatever Willow supports). Overridden from ImageField to use
    Willow instead of Pillow as the image library in order to enable SVG support.
    """
    f = FileField.METHOD_NAME(self, data)
    if f is None:
        return None
    # Get the file content ready for Willow
    if hasattr(data, "temporary_file_path"):
        # Django's `TemporaryUploadedFile` is enough of a file to satisfy Willow
        # Willow doesn't support opening images by path https://github.com/wagtail/Willow/issues/108
        file = data
    else:
        if hasattr(data, "read"):
            file = BytesIO(data.read())
        else:
            file = BytesIO(data["content"])
    try:
        # Annotate the python representation of the FileField with the image
        # property so subclasses can reuse it for their own validation
        f.image = willow.Image.open(file)
        f.content_type = image_format_name_to_content_type(f.image.format_name)
    except Exception as exc:  # noqa: BLE001
        # Willow doesn't recognize it as an image.
        raise ValidationError(
            self.error_messages["invalid_image"],
            code="invalid_image",
        ) from exc
    if hasattr(f, "seek") and callable(f.seek):
        f.seek(0)
    if f is not None:
        self.check_image_file_size(f)
        self.check_image_file_format(f)
        self.check_image_pixel_size(f)
    return f