【问题标题】:Restoring/creating missing media references in Umbraco Media section在 Umbraco 媒体部分恢复/创建丢失的媒体参考
【发布时间】:2015-08-27 22:50:30
【问题描述】:

我有一个 Umbraco (v6.1.6) 网站,托管在 Azure 托管(网站和数据库)上。

最近客户报告说,一些图片从网站上消失了!

查看 CMS 后台,内容节点正在引用媒体项目,但其中“某些”项目不再出现在媒体部分!但是,媒体文件按预期存在于 /media 文件夹中的 Web 服务器上!

现在,这应该作为单实例站点运行,但看起来该站点已在多个 (3) 实例中运行了一段时间,例如在加载丢失的图像时。 [所有未受影响的媒体的 id 都较低(

该站点现在恢复运行一个实例。

问。有没有办法可以根据 /Media 文件夹中实际存在的媒体重新生成 Umbraco Media 部分中的项目?

【问题讨论】:

    标签: umbraco


    【解决方案1】:

    您需要做的很大程度上取决于您网站的状态以及它在 3 个实例中运行时发生的情况......以及您想要的结果!

    umbraco 中媒体的元数据存储在数据库中,实际文件存储在磁盘上。如果您的站点在 3 个实例中运行,使用相同的数据库但磁盘上的文件位置不同,那么您实际上应该看到媒体项目存在于数据库中,即使文件可能分散在文件系统上的 3 个实例中。

    但是,听起来您是在说文件确实都存在于磁盘上,但媒体项目并非都存在于数据库中。你能确认一下吗(因为这听起来很奇怪,除非你也一直在运行 3 个不同的数据库)。

    总而言之,这里的一切听起来真的很奇怪,因为运行 3 个实例还应该要求你已经运行并由上传文件的编辑访问,使用 3 个不同的主机名?

    无论如何,我认为没有简单的解决方案可以解决您的问题。没有办法让 umbraco 根据那里的文件“重新索引”媒体文件夹。我对损坏的媒体库(通常是自己造成的损坏)所做的是将所有现有的媒体项加载到内存中,然后遍历文件系统以查看库中缺少的内容并重新创建这些媒体项并上传文件给他们。请记住将您正在重新创建的文件记录为媒体项目,以便在处理完孤立文件后对它们进行文件系统删除。

    如果你能对这个问题有更多的了解,我会看看我是否能为你想出更好的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多