我试图用这段代码来做,但我ArgumentException
在函数中得到了一个“ms” byteArrayToImage
。
byteArrayToImage
正常工作,byte[]
但当我得到节点值时我遇到了麻烦。
XML 节点包含一个二进制代码。
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
static byte[] GetBytes(string str)
{
byte[] bytes = new byte[str.Length * sizeof(char)];
System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
return bytes;
}
foreach (var binary in xdoc.Root.Elements(ns + "binary"))
{
if (item.Value == "cover.jpg") MessageBox.Show(item.Value.ToString());
foreach (var binaryAttr in binary.Attributes())
{
if (binaryAttr.Value == "cover.jpg")
{
var s = GetBytes(binary.Value);
byteArrayToImage(s);
}
}
}