SonataMediaBundle:找不到文件/图像

Posted

技术标签:

【中文标题】SonataMediaBundle:找不到文件/图像【英文标题】:SonataMediaBundle: Files/Images not found 【发布时间】:2014-03-30 16:52:51 【问题描述】:

我将 SonataMediaBundle 与 SonataAdminBundle 和 Symfony 2.3 一起使用。

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

    点击“新增”(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文件并点击“创建” 这会将我带到编辑页面,我可以在其中看到:Item "image.jpg" has been successfully created.

确实:

在文件夹 web\uploads\media\default\0001\01 我有我的图像文件和 3 个拇指 在media__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) 点击“图片”(app_dev.php/admin/sonata/media/media/create?provider=sonata.media.provider.file&context=default) 浏览document.zip文件并点击“创建”

这会生成错误 500:The file "" does not exist。并且没有在数据库中创建新行。


解决方案

对于图像问题,我注意到奏鸣曲管理员正在寻找的路径不是好的路径:我正在寻找: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

而且它有效。但我认为在那里硬编码不是一个好主意。而且我想在奏鸣曲文档中这样写是有充分理由的,不是吗?

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

无论如何,它并没有解决我的文件上传问题! 对此有任何想法吗?

【问题讨论】:

我也有同样的问题。您找到解决方案了吗? 目标目录是否有足够的 apache 或 nginx 可写权限? 【参考方案1】:

文件“”不存在

正如here 解释的那样,这是由于php.ini 中允许的上传文件大小限制不足(增加upload_max_filesizepost_max_size)造成的。

然后您可能会偶然发现另一个错误,即不允许使用 zip 文件类型,因此请将其添加到您的 config.yml 中:

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

【讨论】:

【参考方案2】:
sonata_media
    cdn:
        server:
            path: /myproject/web/uploads/media

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

【讨论】:

以上是关于SonataMediaBundle:找不到文件/图像的主要内容,如果未能解决你的问题,请参考以下文章

系统找不到指定的路径怎么办

solidworks2018打开模型图找不到相对应的工程图

SonataMediaBundle 的公共和私人媒体上传到不同的文件夹(网络和私人)

Java文件不能运行(找不到或无法加载主类)怎么解决。

SonataMediaBundle - 如何上传图片?

我的微信下载了文件,为啥文件管理里面找不到?