Drupal 7 在文件系统中的不同位置生成了不同的 <img src="path"> - 为什么?

Drupal 7 generated different <img src="path"> to different locations in filesystem - why?

我对Drupal不是很熟悉,有一个行为我不明白。 有些图片转到示例:/system/files/styles/produkt_newsevents/private/,有些转到 /sites/default/files/styles/produkt_promoted/public/.

嗯,我发现 /system/files/ 的路径是一种虚拟路径。它在现实中并不存在。 但是为什么会生成它(它是用视图和图像样式生成的)?在 Drupal 中有什么特别的事情要做,这个私有路径只在这个视图中生成吗?因为我真的不需要 public 图片的虚拟路径。

任何 /system/files 路径都是“私有”文件,这意味着文件本身由 PHP 提供,而不是通过网络服务器提供。由于它们是通过 PHP 操作的,因此可以对其应用权限 - 因此也许只有具有特定角色的用户才能查看它们。

这就是为什么您提到的目录不存在的原因 - 它确实存在于某个地方,只是不必(也不应该)位于 webroot 中(否则有人可能 直接到它的路径)。

至于为什么有些图片使用它而有些没有,这完全取决于实现。您可以在字段级别设置 public/ private - 所以也许您的安装是这样设置的?

感谢您的帮助 Pobtastic。现在,我在 > 结构 > 内容类型 > 我的内容 > 管理字段中找到了用于设置 public 或私有文件定位的复选按钮。 我在字段设置的特定字段“IMAGE_LOGO”中将“上传目的地”从私有文件更改为 Public 文件。现在 url 路径是 public.