Sonata Media Bundle - 如何限制特定上下文的文件扩展名?

时间:2014-01-13 06:45:17

标签: symfony 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"'

1 个答案:

答案 0 :(得分: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']