Sonata Media Bundle - Как ограничить расширение файла в определенном контексте?

Я создал контекст, который будет содержать только zip-файлы. Мне нужно разрешить только расширение zip-файла в этом контексте. Мне удалось создать настраиваемого поставщика, который распространяется на FileProvider, но возникла проблема с настройкой конкретного расширения, разрешенного для этого поставщика.

Я следил за этим сообщением: sonata-media-bundle-how-to-write -custom-provider

Когда я установил следующую конфигурацию:

providers:
    custom:
        allowed_extensions: ['zip']
        allowed_mime_types: ['application/zip','application/x-zip']

Symfony выдает ошибку:

Fatal error: Uncaught exception 'Symfony\Component\Config\Definition\Exception\InvalidConfigurationException' with message 'Unrecognized options "custom" under "sonata_media.providers"'

person Awesemo    schedule 13.01.2014    source источник
comment
Я создал поставщика SVG один раз, и в конфигурации у меня есть расширение лимита, вы можете взглянуть на этот ответ, чтобы лучше понять stackoverflow.com/a/ 32847495/853360   -  person M Khalid Junaid    schedule 29.07.2016


Ответы (1)


Успейте найти его после прохождения кода медиа-пакета.

Допустимые расширения и типы MIME - это 6 и 7 аргументов для поставщика. Ниже приводится копия моего файла service.yml для объявления службы настраиваемого поставщика.

services:
sonata.media.provider.custom:
    class: Application\Sonata\MediaBundle\Provider\CustomProvider
    tags:
        - { name: sonata.media.provider }
    arguments:
        - sonata.media.provider.custom
        - @sonata.media.filesystem.local
        - @sonata.media.cdn.server
        - @sonata.media.generator.default
        - @sonata.media.thumbnail.format
        - ['zip', 'foo']
        - ['application/zip', 'foo/bar']
person GSB    schedule 03.09.2014