SonataMediaBundle:找不到文件/图像

时间:2014-02-27 10:21:08

标签: symfony sonata-media-bundle

我正在使用SonataMediaBundle和SonataAdminBundle以及Symfony 2.3。

当我尝试通过Sonata Admin界面上传图片时:

  1. 点击“添加新内容”(app_dev.php/admin/sonata/media/media/create
  2. 点击“图片”(app_dev.php/admin/sonata/media/media/create?provider=sonata.media.provider.image&context=default
  3. 浏览image.jpg文件,然后点击“创建”
  4. 这会引导我进入编辑页面,我可以看到:Item "image.jpg" has been successfully created.
  5. 确实:

    • web\uploads\media\default\0001\01文件夹中,我有我的图片文件和3个拇指
    • media__media数据库表中,我有相应的行
    • 当我使用Firefox浏览web/uploads/media/default/0001/01/时,我可以看到我的图像
    • 相应的行显示在媒体列表中(在管理面板中)

    但是

    • 图像不会显示在媒体列表中(有方形而不是拇指),也不会显示在图像编辑页面中(app_dev.php/admin/sonata/media/media/3/edit?provider=sonata.media.provider.image&context=default

    对于文件,情况更糟:

    1. 点击“添加新内容”(app_dev.php/admin/sonata/media/media/create
    2. 点击“图片”(app_dev.php/admin/sonata/media/media/create?provider=sonata.media.provider.file&context=default
    3. 浏览document.zip文件,然后点击“创建”
    4. 这会生成错误500:The file "" does not exist。并且DB中没有创建新行。


      解决方案

      对于图像问题,我注意到奏鸣曲管理员看的路径并不好:我看着它: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: /uploads/media
      

      我替换为:

      sonata_media
          cdn:
              server:
                  path: /myproject/web/uploads/media
      

      它有效。但我不认为在那里硬编码是个好主意。而且我想有一个很好的理由为什么它会以这种方式写在Sonata Doc中,不是吗?

      我的修改是否正确?如果没有,我该怎么办?

      无论如何,它无法解决我的文件上传问题! 关于这一点有什么想法吗?

2 个答案:

答案 0 :(得分:3)

  

文件""不存在

正如here所述,这是由于php.ini中允许的上传文件大小限制不足(增加upload_max_filesizepost_max_size)。

然后你可能会偶然发现另一个错误,说不允许使用zip文件类型,所以将它添加到你的config.yml中:

sonata_media:   
    providers:
        file:
            allowed_extensions: ['zip']

答案 1 :(得分:0)

<a name="top" id="top"></a>
<div id="header">
  <div class="topmenu">

    <ul class="mymenu">
      <li><a href="http://www.mythic-kingdom.org" class="home"><span class="octicon octicon-home"></span> Home</a>
      </li>

      <li><a href="http://www.mythic-kingdom.org/forum/index.php" class="home"><span class="octicon octicon-comment-discussion"></span> Forum</a>
      </li>

      <li><a href="http://www.mythic-kingdom.org/blog.html" class="home"><span class="octicon octicon-book"></span> Blog</a>
      </li>

      <li><a href="#" class="home"><span class="octicon octicon-file-text"></span> Store</a>
      </li>

      <li><a href="http://www.mythic-kingdom.org/forum/misc.php?action=help" class="help"><span class="octicon octicon-question"></span> Help</a>
      </li>
    </ul>



  </div>
  <div id="logo">

    <a id="logo-image" href="http://www.mythic-kingdom.org/forum/index.php">
      <img src="http://www.mythic-kingdom.org/forum/images/MythicKingdom/Line-Logo-myBB.png" alt="Mythic Kingdom :: Forum" title="Mythic Kingdom :: Forum" />
    </a>
  </div>
</div>

这是工作选项。 我认为硬编码不存在问题。