Symfony SonatamaDiabundle:未找到文件/图像

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.

我正在将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.jpg
    文件并单击“创建”
  • 这将引导我进入编辑页面,我可以看到:
    项“image.jpg”已成功创建。
  • 事实上:

    • 在文件夹
      web\uploads\media\default\0001\01
      中,我有我的图像文件和3个拇指
    • media\uu media
      DB表中,我有相应的行
    • 当我使用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
  • 点击“Image”(
    app_dev.php/admin/sonata/media/media/create?provider=sonata.media.provider.file&context=default
  • 浏览
    document.zip
    文件并单击“创建”
  • 这将生成错误500:
    文件“”不存在
    。在数据库中不创建新行


    一种解决方案

    对于图像问题,我注意到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