Sitecore:GetMediaStream 始终为空
Sitecore: GetMediaStream is always null
我的主数据库和网络数据库 (Sitecore) 中存储了文件。
我需要阅读所选文件的内容。
这是我使用的代码:
MediaItem mediaItem = Sitecore.Context.Database.Items.GetItem(id);
if (mediaItem != null)
{
Stream stream = mediaItem.GetMediaStream();
}
流总是空的!
我已经为几个文件尝试过这个。
如果我尝试下载文件,它们会成功下载。
我需要读取文件的内容。
mediaitem returns 所有元数据(文件名、扩展名等)正确。
这可能是什么原因?
我注意到 web.comfig 文件中也存在以下条目:
<getMediaStream>
<processor type="Sitecore.Resources.Media.ThumbnailProcessor, Sitecore.Kernel"/>
<processor type="Sitecore.Resources.Media.ResizeProcessor, Sitecore.Kernel"/>
<processor type="Sitecore.Resources.Media.GrayscaleProcessor, Sitecore.Kernel"/>
</getMediaStream>
我不确定是否需要在此处添加任何内容。
您需要获取 Sitecore 项目,然后从中获取媒体项目。 Sitecore 项目和媒体项目是两个不同的东西。您可以从代表它的 Sitecore 项目中获取媒体项目。
请记住,sitecore 项目是包含所有字段(如类型、大小、名称等)的模板。媒体项目是真实的东西,jpeg、pdf 等。
Item item = Sitecore.Context.Database.Items.GetItem(id);
MediaItem mediaItem = new MediaItem(item);
if (mediaItem != null)
{
Stream stream = mediaItem.GetMediaStream();
}
我的主数据库和网络数据库 (Sitecore) 中存储了文件。 我需要阅读所选文件的内容。 这是我使用的代码:
MediaItem mediaItem = Sitecore.Context.Database.Items.GetItem(id);
if (mediaItem != null)
{
Stream stream = mediaItem.GetMediaStream();
}
流总是空的! 我已经为几个文件尝试过这个。 如果我尝试下载文件,它们会成功下载。
我需要读取文件的内容。 mediaitem returns 所有元数据(文件名、扩展名等)正确。
这可能是什么原因?
我注意到 web.comfig 文件中也存在以下条目:
<getMediaStream>
<processor type="Sitecore.Resources.Media.ThumbnailProcessor, Sitecore.Kernel"/>
<processor type="Sitecore.Resources.Media.ResizeProcessor, Sitecore.Kernel"/>
<processor type="Sitecore.Resources.Media.GrayscaleProcessor, Sitecore.Kernel"/>
</getMediaStream>
我不确定是否需要在此处添加任何内容。
您需要获取 Sitecore 项目,然后从中获取媒体项目。 Sitecore 项目和媒体项目是两个不同的东西。您可以从代表它的 Sitecore 项目中获取媒体项目。
请记住,sitecore 项目是包含所有字段(如类型、大小、名称等)的模板。媒体项目是真实的东西,jpeg、pdf 等。
Item item = Sitecore.Context.Database.Items.GetItem(id);
MediaItem mediaItem = new MediaItem(item);
if (mediaItem != null)
{
Stream stream = mediaItem.GetMediaStream();
}