我需要将文件上传临时存储到 MemoryStream。
使用 asp.net (3.5) 执行此操作的最佳方法是什么?
这是我目前所拥有的。它有效(本地测试),但我觉得不合适。
protected void lnkUploadFile_Click(object sender, EventArgs e)
{
MemoryStream memStream = new MemoryStream();
BinaryWriter sWriter = new BinaryWriter(memStream);
foreach (byte b in flUpload.FileBytes)
{
sWriter.Write(b);
}
sWriter.Flush();
// writing to file to verify file stream converted correctly
FileStream fstream = new FileStream(@"C:/test/" + flUpload.FileName, FileMode.Create);
memStream.WriteTo(fstream);
fstream.Dispose();
memStream.Dispose();
}
最佳答案
如果flUpload.FileBytes
是字节数组,您可以使用接受包含的数据作为参数的MemoryStream 构造函数:
MemoryStream memStream = new MemoryStream(flUpload.FileBytes);
如果不是(如果它只是实现了 IEnumerable),您可以使用 Linq 将其转换为字节数组:
MemoryStream memStream = new MemoryStream(flUpload.FileBytes.ToArray());
关于c# - 将文件上传存储到 MemoryStream (C#) 的最佳做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1690337/