是否从Sitecore文件项获取流?(C#)
我的一个项目上有一个文件字段。我正在尝试实现上传页面上的功能,其工作原理如下:是否从Sitecore文件项获取流?(C#),c#,file,stream,sitecore,media,C#,File,Stream,Sitecore,Media,我的一个项目上有一个文件字段。我正在尝试实现上传页面上的功能,其工作原理如下: <input type="file" id="UpdateFile" runat="server" /> 我不知道如何使用Sitecore文件字段来实现这一点。这就是我到目前为止所做的: var importFile = glassItem.CSV; var fileItem = _db.GetItem(importFile.Id.ToString()); // get the Item from th
<input type="file" id="UpdateFile" runat="server" />
我不知道如何使用Sitecore文件字段来实现这一点。这就是我到目前为止所做的:
var importFile = glassItem.CSV;
var fileItem = _db.GetItem(importFile.Id.ToString()); // get the Item from the media library
var media = MediaManager.GetMedia(fileItem);
var stream = media.GetStream();
StreamReader streamReader = new StreamReader(stream);
但是,我无法将MediaStream传递到StreamReader,它是错误的类型。我甚至不确定是否应该将该项目作为媒体对象获取 您应该使用从
GetStream()
方法收到的内容的.Stream
属性:
newstreamreader(MediaManager.GetMedia(sampleMedia.GetStream().Stream)
因此,您的代码如下所示:
var importFile = glassItem.CSV;
var fileItem = _db.GetItem(importFile.Id.ToString()); // get the Item from the media library
var media = MediaManager.GetMedia(fileItem);
var stream = media.GetStream().Stream; // <-- check this line
new StreamReader(stream)
var importFile=glassItem.CSV;
var fileItem=_db.GetItem(importFile.Id.ToString());//从媒体库中获取项目
var media=MediaManager.GetMedia(fileItem);
var stream=media.GetStream().stream;// 您应该使用从GetStream()
方法收到的内容的.Stream
属性:
newstreamreader(MediaManager.GetMedia(sampleMedia.GetStream().Stream)
因此,您的代码如下所示:
var importFile = glassItem.CSV;
var fileItem = _db.GetItem(importFile.Id.ToString()); // get the Item from the media library
var media = MediaManager.GetMedia(fileItem);
var stream = media.GetStream().Stream; // <-- check this line
new StreamReader(stream)
var importFile=glassItem.CSV;
var fileItem=_db.GetItem(importFile.Id.ToString());//从媒体库中获取项目
var media=MediaManager.GetMedia(fileItem);
var stream=media.GetStream().stream;//仅作一般性评论:请使用指令/关闭流避免内存泄漏仅作一般性评论:请使用指令/关闭流避免内存泄漏