问题标签 [sonata-media-bundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
85 浏览

symfony - 未定义助手“sonata_media”

我正在使用 SonataMediaBundle 并按照他们网站https://sonata-project.org/bundles/media/2-2/doc/index.html中的说明进行安装/配置

我可以保存一个媒体文件并链接到另一个实体(ManyToOne),但是当我尝试使用以下代码呈现图像路径时:

它给了我一个错误:

未定义助手“sonata_media”。

我不知道我应该怎么做。有人帮我解决这个问题吗?

谢谢。

编辑:我使用 PHP 作为模板引擎。

0 投票
0 回答
651 浏览

php - Sonata Media - 自定义下载策略

我有一个名为“文档”的实体,我使用奏鸣曲媒体来处理文件管理。因此,管理员可以添加一个新文档并附加一个文件,这个文档被分配给一个用户。

我的问题是:我希望用户能够通过“受保护的 URL”下载分配给他们的文件(因为如果您更改下载 url 末尾的数字,您可以下载分配给他们的文件给其他用户)

根据奏鸣曲媒体的文档,我需要创建一个下载策略和服务。我做到了,我称之为:PrivateDownloadStrategy.php(并制作了服务)这个文件应该基于RolesDownloadStrategy.php,因为我希望管理员能够下载所有文件,但如何让用户能够下载分配给他们的文件?

这是我实际的 PrivateDownloadStrategy.php(来自rolesDownloadStrategy.php 的副本)

和服务:

注意:奏鸣曲媒体文档:链接 奏鸣曲角色下载策略:链接

0 投票
1 回答
1164 浏览

symfony - SonataMedia - 为视频生成的公共 url 返回错误的文件名和类型

我将 SonataMediaBundle 2.3.3 与 Symfony 2.5.12 一起使用。当我生成一个 publicUrl 时,它给了我一个错误的路径(而且带有 png 扩展名)。

这是我的 sonata.yml 文件:

在我的控制器中:

返回带有错误“png”扩展名的错误文件名:

但是,我可以根据提供者参考检索正确创建的文件名(例如:db826fcb917f488cadf3b6bf19594bc0e2b123ac.qt):

但是,我仍然需要对该资源的整个路径进行硬编码。有没有办法为自定义视频文件获取正确的 publicUrl?例如这个'qt' quicktime 文件的链接?

谢谢

0 投票
1 回答
246 浏览

symfony - Sonata Media Bundle 中一个练习的多种媒体

我在 Sonata 媒体包中遇到了这个奇怪的问题。

基本上,我有一个可以有很多图片的练习。

我的练习映射(它是法语)是:

然后我转到 Application/Sonara/MediaBundle/Entity/Media.php 并添加一个字段 $exercice:

发生的奇怪事情:

  1. 当我运行时:php app/console doctrine:generate:entities Application\Sonata\MediaBundle:Media 我在 Media 实体中看不到任何用于 Exercice 的 setter 或 getter。
    1. 我在探查器中收到此错误:

Acme\AcmeBundle\Entity\Exercice#medias 关联是指不存在的拥有方字段 Application\Sonata\MediaBundle\Entity\Media#exercice。

config 的相关部分:

orm: auto_generate_proxy_classes: "%kernel.debug%" auto_mapping: true 映射: ApplicationSonataMediaBundle: ~ SonataMediaBundle: ~

我究竟做错了什么 ?

谢谢

0 投票
1 回答
1758 浏览

php - 如何使用 SonataMediaBundle 在树枝中获取图像路径?

我正在使用 SonataMediaBundle 来跟踪我的图像。我可以使用奏鸣曲的助手在树枝中渲染图像:

这将呈现为<img src="the src">

但是,我想要获得的是裸路径,所以我可以例如在我的 img.xml 中添加一个类。就像是:

显然, asset(user.profilepic)返回的不是路径,而是对象,而且该对象似乎不包含图像的路径。

编辑

也找到了我的部分答案:

显然,可以将块的输出设置为变量,然后将其传递给资产函数。

0 投票
1 回答
1245 浏览

symfony - 定期错误:zend_mm_heap 损坏

描述:通过 API 添加文件时,服务器会定期崩溃,并在 /var/log/httpd/error_log 中显示错误:zend_mm_heap 已损坏。有时会发生这种情况,然后其本身开始正常工作。即文件正常加载,然后停止加载。虽然此时对方可以正常加载。

我使用 API /api/providers/sonata.media.provider.file/media

文件系统的提供者:sonata.media.filesystem.ftp

开发环境:无论dev/prod


作曲家:

  • 奏鸣曲项目/媒体包:“2.3.x-dev”
  • knplabs/gaufrette: >=0.1.4

阿帕奇+ mod_php:

  • httpd-2.2.15-47.el6.centos.x86_64
  • httpd-itk-2.2.22-7.el6.x86_64
  • php55w-5.5.30-2.w6.x86_64

其他:

  • zend.enable_gc = 关闭
  • opcache.fast_shutdown = 关闭
  • USE_ZEND_ALLOC = 0

问题:https ://github.com/sonata-project/SonataMediaBundle/issues/866

0 投票
1 回答
852 浏览

php - 如何在 symfony 中覆盖奏鸣曲媒体包的默认上传路径?

我有以下问题,我正在使用 Sonata Media 包进行媒体上传的 Symfony 2 应用程序中工作,我在 Bluehost 中托管应用程序,我的问题是,如何覆盖奏鸣曲媒体中媒体上传的默认路径捆绑?,因为我需要上传到“public_html”目录而不是默认的网络目录?谢谢和亲切的问候/

0 投票
0 回答
90 浏览

symfony - SonataMediaBundle 和 Pixlr 集成

我坚持这一点。Sonatamediabundle 中的Pixlr 集成

在文档中

但我不知道我从哪里得到数据来填写“推荐人”和“秘密”,你能帮我吗?

0 投票
2 回答
1119 浏览

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

我正在使用 SonataMediaBundle,直到现在我一直在webSymfony 的文件夹中公开上传文件。这是我的配置文件的一部分:

而在我的parameters.yml我有 cdn_server_path: /uploads/media/

这将在web/uploads/media/contextname/0001/01/***.

在公共文件夹中,这些文件对每个人都是可见的。我知道我可以在 中的某处更改此文件夹app/Resources/,但这将使我的所有文件都成为私有文件,这是我不想要的。私人的,我的意思是他们应该以某种方式由控制器服务。

如何区分一些文件是公开的,而另一些文件是私人的?有没有办法让某个上下文上传文件与另一个不同?还是有什么其他方式?

此外,当将文件上传到 app/Resources 文件夹时,它们无法预览,因为它们的 url 变为http://website.com/app/Resources/media/profile_pics/0001/01/85e05ab9685b1745af4e64ff98ef91eed6e4ccdf.jpeg不公开,因为它是不在 web 文件夹中,这是 Symfony 唯一拥有的公共文件。如何才能做到这一点?

编辑:我已经设法完成了上传部分(检查下面的答案),但检索部分有点麻烦。我仍在寻找一种方法来做到这一点。

0 投票
1 回答
1309 浏览

symfony - SonataMediaBundle - S3 AWS:'配置的存储桶“我的存储桶”不存在

我正在尝试在我的 Sonata-Project 上配置 AWS s3 文件系统,但我总是收到以下错误:

配置的存储桶“my-bucket”不存在。

我的sonata_media.yml

我在 parameters.yml 中添加了以下参数:

目前我使用这个库:

(在最新版本中,s3_region 参数出现错误。)

桶策略:

我想我不必说桶就在那里。

有谁知道,问题是什么?