我在将一个字节流从图像(在本例中为jpg)保存到System.IO.MemoryStream对象时遇到了一些困难.目标是保存System.Drawing.Image到a MemoryStream,然后使用将MemoryStream图像写入字节数组(我最终需要将其插入数据库).但是,data在MemoryStream关闭后检查变量表明所有字节都是零...我很难过,不知道我在哪里做错了...
using (Image image = Image.FromFile(filename))
{
byte[] data;
using (MemoryStream m = new MemoryStream())
{
image.Save(m, image.RawFormat);
data = new byte[m.Length];
m.Write(data, 0, data.Length);
}
// Inspecting data here shows the array to be filled with zeros...
}
Run Code Online (Sandbox Code Playgroud)
任何见解将不胜感激!
Mar*_*ell 31
要将数据从流加载到数组中,您需要阅读,而不是写入(并且您需要回放).但是,在这种情况下更简单ToArray():
using (MemoryStream m = new MemoryStream())
{
image.Save(m, image.RawFormat);
data = m.ToArray();
}
Run Code Online (Sandbox Code Playgroud)