如何使用SetStream将文件添加到MediaItem?

时间:2017-01-17 12:37:25

标签: c# sitecore memorystream sitecore-media-library

我有以下情况:

  • 我在服务器上有一个文件("文件");
  • 我在媒体库中有一个必须附加此文件的现有项目(" item")。

我尝试使用以下内容:

var stream = new MemoryStream(file);
var mediaItem = MediaManager.GetMedia(item);
var mediaStream = new MediaStream(stream, extension, item);

mediaItem.SetStream(mediaStream);

但最后一个操作总是失败,抛出一个异常"Cannot access closed stream",即使在运行最后一个命令之前该流似乎已打开。

有人能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:2)

尝试使用MediaManager.Creator.AttachStreamToMediaItem方法:

FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
MediaManager.Creator.AttachStreamToMediaItem(fileStream, "mediaItemPath", fileName, options)