Symfony SonatamaDiabundle:未找到文件/图像
我正在将SonatamaDiabundle与SonataAdminBundle和Symfony 2.3一起使用 当我尝试通过Sonata管理界面上传图像时:Symfony SonatamaDiabundle:未找到文件/图像,symfony,sonata-media-bundle,Symfony,Sonata Media Bundle,我正在将SonatamaDiabundle与SonataAdminBundle和Symfony 2.3一起使用 当我尝试通过Sonata管理界面上传图像时: 点击“添加新内容”(app_dev.php/admin/sonata/media/media/create) 点击“Image”(app_dev.php/admin/sonata/media/media/create?provider=sonata.media.provider.Image&context=default) 浏览image.
app_dev.php/admin/sonata/media/media/create
)app_dev.php/admin/sonata/media/media/create?provider=sonata.media.provider.Image&context=default
)image.jpg
文件并单击“创建”项“image.jpg”已成功创建。
- 在文件夹
中,我有我的图像文件和3个拇指web\uploads\media\default\0001\01
- 在
DB表中,我有相应的行media\uu media
- 当我使用Firefox浏览
时,我可以看到我的图像web/uploads/media/default/0001/01/
- 相应的行出现在媒体列表中(在管理面板中)
- 图像既不显示在媒体列表中(有一个正方形而不是拇指),也不显示在图像编辑页面中(
)app_dev.php/admin/sonata/media/media/3/edit?provider=sonata.media.provider.image&context=default
对于文件,情况更糟:
app_dev.php/admin/sonata/media/media/create
)app_dev.php/admin/sonata/media/media/create?provider=sonata.media.provider.file&context=default
)document.zip
文件并单击“创建”文件“”不存在
。在数据库中不创建新行
一种解决方案 对于图像问题,我注意到sonata admin查看的路径不是很好:我将它查看:
http://myserver/uploads/media/default/0001/01/c35f187f1b405f4bfba8b962d83e5bbdccff54f9.jpeg
而不是http://myserver/myproject/web/uploads/media/default/0001/01/c35f187f1b405f4bfba8b962d83e5bbdccff54f9.jpeg
显然,这是由于config.yml的这一部分(如SonataMedia文档中定义的):
我将其替换为:
sonata_media
cdn:
server:
path: /myproject/web/uploads/media
它是有效的。但我认为在这里硬编码不是一个好主意。我想在《奏鸣曲博士》中这样写是有原因的,不是吗
我的修改正确吗?如果没有,我该怎么办?
无论如何,这并不能解决我的文件上传问题关于这一点有什么想法吗?
文件“”不存在
如前所述,这是由于php.ini中允许上传的文件大小限制不足(增加upload\u max\u filesize
和post\u max\u size
)
然后,您可能会遇到另一个错误,即不允许使用zip文件类型,因此请将其添加到config.yml中:
sonata_media:
providers:
file:
allowed_extensions: ['zip']
这是可行的选择。
我认为硬编码没有问题。我也有同样的问题。您找到解决方案了吗?目标目录对于apache或nginx是否具有足够的可写权限?
sonata_media:
providers:
file:
allowed_extensions: ['zip']
sonata_media
cdn:
server:
path: /myproject/web/uploads/media