1

因为我需要将我的所有媒体文件从 umbraco v 4.5.2 导出到 umbraco v 6.0.5 ,

有什么方法或这样的包我们可以做同样的事情。

4

1 回答 1

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 &raquo;</a>
                  <a href="@filePath" itemprop="contentURL" download="@c.Text"><img itemprop="thumbnailUrl" src="@thumbPath" alt="@c.Text" /></a>
                break;
                }
            }
          }
}
于 2013-05-09T12:03:50.447 回答