После попытки загрузить изображение я получаю следующее сообщение об ошибке:
An exception has been thrown during the rendering of a template ("Unable to retrieve the download security : ").
Эта ошибка возникает после «создания» по следующему URI:
/web/app_dev.php/en/admin/sonata/media/media/cms/media/58c1be25e1d27/edit?context=default&hide_context=0
Изображение загружается, обрезается и так далее, но я не думаю, что документ будет правильно сохранен в базе данных.
Вот мои конфигурации:
«sonata-project / media-bundle»: «^ 3.5»,
«doctrine / phpcr-odm»: «^ 1.4»,
«sonata-project / doctrine-phpcr-admin-bundle»: «^2.0@dev»,
config.yml
sonata_media:
# if you don't use default namespace configuration
class:
media: Application\Sonata\MediaBundle\PHPCR\Media
gallery: Application\Sonata\MediaBundle\PHPCR\Gallery
gallery_has_media: Application\Sonata\MediaBundle\PHPCR\alleryHasMedia
db_driver: doctrine_phpcr # or doctrine_mongodb, doctrine_phpcr it is mandatory to choose one here
default_context: default # you need to set a context
contexts:
default: # the default context is mandatory
providers:
- sonata.media.provider.dailymotion
- sonata.media.provider.youtube
- sonata.media.provider.image
- sonata.media.provider.file
- sonata.media.provider.vimeo
formats:
small: { width: 100 , quality: 70}
big: { width: 500 , quality: 70}
cdn:
server:
path: /uploads/media # http://media.sonata-project.org/
filesystem:
local:
directory: "%kernel.root_dir%/../web/uploads/media"create: falsedoctrine_phpcr:
# configure the PHPCR session
session:
backend: '%phpcr_backend%'
workspace: '%phpcr_workspace%'
username: '%phpcr_user%'
password: '%phpcr_pass%'
odm:
auto_mapping: true
auto_generate_proxy_classes: '%kernel.debug%'
locales:
en: [de, fr]
de: [en, fr]
fr: [en, de]
mappings:
#SonataMediaBundle:
# prefix: Sonata\MediaBundle\PHPCR
ApplicationSonataMediaBundle:
prefix: Application\Sonata\MediaBundle\PHPCR
Initalizer
app.phpcr.initializer:
class: Doctrine\Bundle\PHPCRBundle\Initializer\GenericInitializer
arguments:
- SonataMediaBundle
- ["/cms/media"]
tags:
- { name: doctrine_phpcr.initializer }
И я использую автоматически сгенерированные документы PHPCR по умолчанию & Конфигурация.
У меня та же проблема, но я использую Doctrine вместо PHPCR.
В моем случае я выбрал неправильный медиа-контекст в форме загрузки в Admin
Кажется, если вы выберете неправильный (несуществующий) контекст, файл не будет редактироваться.
->add('media', 'sonata_type_model_list', array('required' => false), array(
'link_parameters' => array(
'context' => 'Context name', // Important: You have to select the context name and not the context code!
'filter' => array('category' => array('value' => 'Dummy category name')),
'provider' => 'sonata.media.provider.file',
)
))
Других решений пока нет …