因为我需要将所有媒体文件从umbraco v 4.5.2导出到umbraco v 6.0.5,
我们可以通过哪种方式或类似的方式来做同样的事情。
答案 0 :(得分:2)
您可以使用CmsImport包(http://our.umbraco.org/projects/developer-tools/cmsimport)批量导入内容。因此,如果您创建了引用所有站点映像的文件,则可以在新安装的内容节点下导入它们。
这是围绕媒体图像运行的一些示例剃刀代码,因此您可以列出它们:
@using umbraco.cms.businesslogic.media;
@using uComponents.Core;
@using uComponents.Core.uQueryExtensions;
@using System
@{
// Set default media root node id
int rootNodeId = -1;
// Get media node and iterate the children
var m = new Media(rootNodeId);
var imagesAndFolders = m.GetChildMedia();
var sortedList = m.GetChildMedia().OrderBy(y => y.Text).OrderBy(x => x.ContentType.Alias);
@{
foreach (var c in sortedList)
{
var type = c.ContentType.Alias;
switch (type)
{
case "Folder":
//drill into folder
break;
default:
var filePath = c.GetPropertyAsString("umbracoFile");
var thumbPath = c.GetPropertyAsString("umbracoFile").Replace(".","_thumb.");
var width = c.GetPropertyAsString("umbracoWidth");
var height = c.GetPropertyAsString("umbracoHeight");
//allowing you to build a table of images
<a href="@filePath">@c.Text</a>
<a href="@filePath" class="imagePreview">preview »</a>
<a href="@filePath" itemprop="contentURL" download="@c.Text"><img itemprop="thumbnailUrl" src="@thumbPath" alt="@c.Text" /></a>
break;
}
}
}
}