【问题标题】:vich uploader and easy admin images not showingvich 上传器和简单的管理图像未显示
【发布时间】:2018-11-14 21:00:14
【问题描述】:

我正在学习 (https://symfony.com/doc/master/bundles/EasyAdminBundle/integration/vichuploaderbundle.html) 的教程

我可以上传图片,但它没有出现在 easy-admin 的列表视图中。

是这样的:

#easy_admin.yaml
easy_admin:
  entities:
    Manchete:
      class:  App\Entity\Manchete
      form:
        fields:
          - titulo
          - descricao
          - link
          - {  property: 'arquivoDaImagem', type: 'vich_image', base_path: '%app.path.manchete_images%',
               help: 'selecione uma imagem para a manchete',
                , label: 'Imagem da manchete', template: 'vich_uploader_image.html.twig' }



      # ...
      list:
        fields:
        - titulo
        - descricao
        - link
        - {  property: 'imagem', template: 'vich_uploader_image.html.twig' }
      # ...
      show:
        fields:
        - titulo
        - descricao
        - link
        - {  property: 'imagem', template: 'vich_uploader_image.html.twig' }

以下是上传文件的路径:

#vich_uploader.yalm
vich_uploader:
    db_driver: orm

    mappings:
        manchete_images:
            uri_prefix: '%app.path.manchete_images%' 
            upload_destination: '%kernel.project_dir%/%app.path.manchete_images%'

#services.yaml
parameters:
    locale: 'en'
    app.path.manchete_images: /uploads/images/manchetes

文件和图片正在上传到文件夹:


但没有显示在简易管理视图中

这是我第一次使用 Symfony 所有这些相关技术,所以我有点迷失在这里。

【问题讨论】:

  • 出现损坏的图片的网址是什么?
  • 这有意义吗? 127.0.0.1:8000/admin/… 我的意思是,这就是你@dbrumann 想要的答案吗?
  • 我的意思是,当您在损坏的图像上单击右键时,它会显示什么 url,即浏览器在哪里寻找图像。它与路径匹配吗?如果参数 app.path.manchete_images: /uploads/images/manchetes 导致 url 127.0.0.1/uploads/images/manchetes 则可能是问题所在,正如 Ahmed 的回答所暗示的那样,即 uri_prefix 不应包含公用文件夹。
  • 嘿@dbrumann,我跟着 Ahmed 工作了,...只需将公共文件夹放在 upload_destination 的路径中...现在,我的下一个挑战是在控制器中获取图像并显示在树枝模板中... =)

标签: symfony image-uploading vichuploaderbundle symfony2-easyadmin


【解决方案1】:

你应该把你的图片放在 public 文件夹下,试试这个映射配置:

   manchete_images:
            uri_prefix:         '%app.path.manchete_images%'
            upload_destination: '%kernel.project_dir%/public/%app.path.manchete_images%'

【讨论】:

  • 嘿@AhmedEBENHASSINE,非常感谢...是的,现在它正在工作...但是uri_prefix:必须有这样的单引号 -> '%app.path.manchete_images%' 谢谢很多...
  • 嘿 @AdrielWerlich 是的,我刚刚编辑了我们需要添加引号,正如文档在此处提到的那样 symfony.com/blog/new-in-symfony-3-1-yaml-deprecations 您能接受我的回答吗?
【解决方案2】:

是的,感谢@Ahmed 的建议,它现在正在显示... 认为 uri_prefix 应该包含单引号,否则会发生异常...

像这样:

manchete_images:
            uri_prefix:  '%app.path.manchete_images%'   
            upload_destination:  '%kernel.project_dir%/public/%app.path.manchete_images%'

再次感谢...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-26
    • 2018-10-22
    • 1970-01-01
    • 2021-06-29
    • 2018-10-10
    • 1970-01-01
    相关资源
    最近更新 更多