3 回答
TA贡献1842条经验 获得超21个赞
正如Darin所说,您可以从输入流中读取信息-但我会避免一次过依赖所有可用数据。如果您使用的是.NET 4,这很简单:
MemoryStream target = new MemoryStream();
model.File.InputStream.CopyTo(target);
byte[] data = target.ToArray();
CopyTo如果需要,编写.NET 3.5中的等效代码非常容易。重要的部分是您从阅读HttpPostedFileBase.InputStream。
为了提高效率,您可以检查返回的流是否已经是MemoryStream:
byte[] data;
using (Stream inputStream = model.File.InputStream)
{
MemoryStream memoryStream = inputStream as MemoryStream;
if (memoryStream == null)
{
memoryStream = new MemoryStream();
inputStream.CopyTo(memoryStream);
}
data = memoryStream.ToArray();
}
TA贡献1815条经验 获得超10个赞
这对我有用,只是提供一些背景信息-谢谢!`Image img = Image.FromStream(file.InputStream); MemoryStream ms =新的MemoryStream(); img.Save(ms,ImageFormat.Jpeg); model.SiteLogo = ms.ToArray();`
添加回答
举报