【问题标题】:Sitecore media publishing to file system when not configured to do so未配置为将 Sitecore 媒体发布到文件系统
【发布时间】:2012-08-25 18:40:42
【问题描述】:

我有一个 SiteCore 实例,其中媒体的 web.config 值如下:

<setting name="Media.DisableFileMedia" value="false" />
<setting name="Media.UploadAsFiles" value="false" />
<setting name="Media.FileFolder" value="/App_Data/MediaFiles" />
<setting name="Media.UseItemPaths" value="true" />

所以,这应该意味着该项目将存储在数据库中而不是文件系统中,对吗?我问是因为它们存储在文件系统上,路径如下所示:

/App_Data/Replicated/MediaFiles/6/4/E/{64EC628B-9C94-4416-B9BD-5A90EA7D8971}220px-Liliumbulbiferumflowertop.jpg

有人知道为什么会这样吗?这是我试图理解的一个更大谜题的一小部分。

【问题讨论】:

  • /sitecore/admin/showconfig.aspx 显示什么?此外,文件和数据库媒体也可能混合使用。您能否确认新上传的内容被存储为文件?
  • 所有值都一样,保存这个:Media.FileFolder设置为/App_Data/Replicated/MediaFiles,与web.config中的值不同。这使得图像使用的路径稍微不那么神秘。非常感谢您的帮助。

标签: sitecore sitecore6 sitecore-media-library


【解决方案1】:

Media.DisableFileMedia 更多的是打开或关闭将媒体项存储在 SC 或文件系统中的选项(在实际的 SC UI 中)

Media.UploadAsFiles 用于指示媒体项是放在 SC 中(如果为 false)还是放在文件系统中(如果为 true) - 如果您将 DisableFileMedia 设置为 true,那么这是被忽略并被认为是“真实的”

Media.FileFolder 显然是在文件系统上放置文件的位置,如果上述任何设置为 true。

Media.UseItemPaths 实际上与在文件系统上存储媒体项无关。它只是显示“~/media/[item id]”之类的 URL 与媒体项目的完整路径之间的切换。

【讨论】:

  • 好吧....所以鉴于上面的值,UploadAsFiles 为假,这意味着它不会在驱动器上存储文件,但这被 DisableFileMedia 覆盖,这是假的,这意味着它会将文件存储在驱动器上?这是我能看到的唯一有意义的场景,尽管这并不真正有意义。
  • 是的.....当我查看我的配置时...如上所述...它告诉我该站点不应该将数据存储在驱动器上.但它是。任何想法为什么会受到赞赏。
【解决方案2】:

我遇到了同样的问题。经过 5 小时的调查,我发现 App_config\Include\ScalabilitySettings.config 覆盖了 Media.FileFolder 值。所以禁用 ScalabilitySettings.config 并重试。它将所有文件存储在 Media.FileFolder 设置指定的文件夹中。

解决问题的答案: 在此配置中禁用 App_config\Include\ScalabilitySettings.config 或 更改 Media.FileFolder 的值

【讨论】:

    【解决方案3】:

    我了解到用户可以手动指定文件是否应作为文件上传到文件系统上。我发现我一直在开发的网站上的内容编辑器根据他们过去工作过的网站习惯这样做。为防止用户有此选择,您可以将 Upload.UserSelectableDestination 设置为 false(默认为 true)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-14
      • 2013-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多