Episerver - 删除媒体/块库中的所有内容

时间:2014-03-06 11:17:21

标签: episerver

我只是想知道是否有人有任何好处,而且最重要的是 - 快速删除其块/媒体库中的所有内容,而无需浏览每个项目,并将其移至垃圾箱。

这是我在将新数据导入我的网站之前必须要做的事情,我发现有效地做到这一点的唯一方法是将所有内容放入一个包含子文件夹的文件夹中,这样我就可以删除文件夹及其所有内容。但是对我目前的项目并没有真正帮助我,因为我们已经拥有了大量的资产,我并不是真的想要经历,移动等等。

我很惊讶没有办法简单地清理您的图书馆,甚至选择所有图书然后转移到垃圾箱?

谢谢, 朱塞佩

1 个答案:

答案 0 :(得分:4)

据我所知,从GUI开始没有简单的方法,但IContentRepository上确实有DeleteChildren方法。所以创建一个预定的工作或插件来为你做这件事应该非常简单。

IContentRepository _contentRepository; // Get this from whereever
var blockRoot = new ContentReference(123); // Get this from whereever, i.e. a property on your startpage

_contentRepository.DeleteChildren(blockRoot, true, AccessLevel.NoAccess);

此外,如果您对媒体数据执行此操作,请记住运行"删除已放弃的BLOB"之后的预定工作(除非它按时间间隔自动运行)以清理磁盘空间。