Umbraco - 改变媒体类型

Umbraco - Changing media type

在 Umbraco 中,有没有办法在创建媒体类型后更改媒体类型,最好是通过 c# 代码?

通过使用新类型创建新媒体节点并迁移低于该媒体类型的图像的迁移由于引用而变得越来越成问题。

有什么好的方法可以将文件夹更改为自定义媒体类型吗?

我正在使用 Umbraco 7 并希望对 App_Code 文件夹中的内容或媒体服务的已保存事件执行此迁移。

我不得不对文档模板做一些非常相似的事情。您有两个选择 - 要么更改媒体类型,要么创建具有正确类型的新媒体,复制属性并销毁旧媒体。应该有很多代码示例可以做到这一点,但如果你遇到困难,请大喊

您应该能够在 app_code 文件夹中添加事件处理程序以在保存时触发

我也有类似的需要更改与节点关联的媒体类型。内容树的上下文菜单中有选项,但媒体树 GUI 中没有类似的选项。您是否找到了实现此目的并刷新所有与之关联的 cache/xml 的好方法?

如果您采用创建新媒体节点的方式来获得新类型,我确实有一些建议。您在评论中提到,复制图像以将它们作为子项放置在新文件夹中,这会弄乱对图像的引用。 GUI 中有一个 "Move node" 选项,它将为您的子图像保留相同的 nodeID,因此对它们的任何引用。以编程方式,我认为这将涉及更新图像节点的属性,并确保 trees.config 得到刷新。

<ChildImage id="4099" parentID="4098" level="4" creatorID="2" sortOrder="0" createDate="2014-10-16T10:32:07" updateDate="2015-05-05T14:32:15" nodeName="Cutler - 101" urlName="my-image" path="-1,3285,3287,4098,4099" isDoc="" nodeType="2887" writerName="admin" writerID="2" version="03d9a03d-4cc5-4e27-b9ff-6651362e264b" template="0" nodeTypeAlias="ChildImage">

我认为需要更改的属性是 parentID 和 path