Eri*_*ert 0 c# media file sitecore stream
我的一个项目上有一个文件字段.我正在尝试在上传页面上实现我的功能,其工作方式如下:
<input type="file" id="UpdateFile" runat="server" />
Run Code Online (Sandbox Code Playgroud)
var file = UpdateFile.PostedFile;
Stream stream = file.InputStream;
StreamReader streamReader = new StreamReader(stream);
var helper = new VarietySelectorDataHelper("master");
var csv = new CsvReader(streamReader);
Run Code Online (Sandbox Code Playgroud)
我不知道如何使用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);
Run Code Online (Sandbox Code Playgroud)
但是,我无法将MediaStream传递给StreamReader,这是错误的类型.我不确定我是否应该将该项目作为Media对象.
你应该使用.Stream你从GetStream()方法中收到的属性:
new StreamReader(MediaManager.GetMedia(sampleMedia).GetStream().Stream)
Run Code Online (Sandbox Code Playgroud)
所以你的代码将是这样的:
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)
Run Code Online (Sandbox Code Playgroud)