Orchardcms Orchard 1.7-媒体库中未列出的媒体文件夹内容
我在为我的Orchard站点列出媒体目录中的图像时遇到问题。 当尝试使用新媒体选择器添加图像时,我会看到文件夹列表,但当我选择其中一个文件夹时,不会列出内容(请参见下图) 如果我“导入”一个图像,它确实会出现,但我肯定不需要每次都导入要使用的每个文件,是吗 我一定是唯一一个有这个问题的人,因为我在网上其他任何地方都找不到它的任何参考,所以提前谢谢 请注意,如果我的问题没有完全形成,很抱歉-这是我第一次发帖Orchardcms Orchard 1.7-媒体库中未列出的媒体文件夹内容,orchardcms,orchardcms-1.7,Orchardcms,Orchardcms 1.7,我在为我的Orchard站点列出媒体目录中的图像时遇到问题。 当尝试使用新媒体选择器添加图像时,我会看到文件夹列表,但当我选择其中一个文件夹时,不会列出内容(请参见下图) 如果我“导入”一个图像,它确实会出现,但我肯定不需要每次都导入要使用的每个文件,是吗 我一定是唯一一个有这个问题的人,因为我在网上其他任何地方都找不到它的任何参考,所以提前谢谢 请注意,如果我的问题没有完全形成,很抱歉-这是我第一次发帖 好的,我也遇到了这个问题,刚把它修好。根本的问题是,orchard数据库中有一些媒体文件的
好的,我也遇到了这个问题,刚把它修好。根本的问题是,orchard数据库中有一些媒体文件的记录不再存在。这是因为我们刚刚将项目更改为使用Azure存储,而数据库仍然指向本地硬盘其他区域中的图像。(Orchard在尝试获取其公共URL时使用了一种方法来检查blob是否确实存在,如果不存在,则抛出异常。) 我做了两件事来修复它。首先,我从数据库中删除了所有对旧图像的引用。Orchard数据库中的表[Orchard\u MediaLibrary\u MediaPartRecord]包含所有文件名。您可以在那里查看是否有您知道不存在的文件引用 其次,由于有多个开发人员在我们的CMS上工作,但使用的是一个中央数据库,所以我担心在我们将图像添加到本地azure文件系统时,它会再次崩溃。最后,我进入AzureFileSystem.cs文件并修改它以返回一个空字符串,而不是在未找到blob时引发异常: 我将第297行和第298行更改为:
try
{
Container.EnsureBlobExists(String.Concat(_root, path));
return Container.GetBlockBlobReference(String.Concat(_root, path)).Uri.ToString();
}
catch
{
return "";
}
现在,即使它找不到图像,它仍然会显示它能找到的图像
希望这有帮助。您可能没有通过Azure运行东西,但您仍然可以从数据库中删除不需要的条目。好的,我也遇到了这个问题,刚刚将其修复。根本的问题是,orchard数据库中有一些媒体文件的记录不再存在。这是因为我们刚刚将项目更改为使用Azure存储,而数据库仍然指向本地硬盘其他区域中的图像。(Orchard在尝试获取其公共URL时使用了一种方法来检查blob是否确实存在,如果不存在,则抛出异常。) 我做了两件事来修复它。首先,我从数据库中删除了所有对旧图像的引用。Orchard数据库中的表[Orchard\u MediaLibrary\u MediaPartRecord]包含所有文件名。您可以在那里查看是否有您知道不存在的文件引用 其次,由于有多个开发人员在我们的CMS上工作,但使用的是一个中央数据库,所以我担心在我们将图像添加到本地azure文件系统时,它会再次崩溃。最后,我进入AzureFileSystem.cs文件并修改它以返回一个空字符串,而不是在未找到blob时引发异常: 我将第297行和第298行更改为:
try
{
Container.EnsureBlobExists(String.Concat(_root, path));
return Container.GetBlockBlobReference(String.Concat(_root, path)).Uri.ToString();
}
catch
{
return "";
}
现在,即使它找不到图像,它仍然会显示它能找到的图像
希望这有帮助。您可能没有通过Azure运行内容,但您仍然可以从数据库中删除不需要的条目。启用更新功能,并从那里将媒体迁移到媒体库。这是一个一次性过程,之后您可以将媒体库与所有旧媒体一起使用。启用更新功能,然后将媒体迁移到媒体库中。这是一个一次性过程,之后您可以将媒体库与所有旧媒体一起使用。谢谢您的回答。我希望Orchard能找到一种方法来读取媒体文件夹的内容并从中填充库(就像以前一样)。所以你的回答并不能真正解决我的问题,但很方便,因为我可能无论如何都要走这条路。干杯谢谢你的回答。我希望Orchard能找到一种方法来读取媒体文件夹的内容并从中填充库(就像以前一样)。所以你的回答并不能真正解决我的问题,但很方便,因为我可能无论如何都要走这条路。干杯