我有两个图像,第一个是产品,第二个是产品条码。 我用来创建这个代码的产品
<xs:import schemaLocation="../../Envelope/2008-05-01/Mentale.xsd" namespace="http://data.schemas.tfn.son.com/Envelope/2008-05-01/"/>
<xs:include schemaLocation="MentaleDataItem.xsd"/>
<xs:complexType mixed="false" name="MentaleDataItem">
<xs:complexContent>
<xs:extension base="env:DataItemBase">
<xs:sequence>
<xs:element minOccurs="0" ref="Mentale"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
i don't know the reason for this issue please any one help me 我该怎么解决呢。
答案 0 :(得分:0)
我没有代表评论。但是,您是否应该为第二张图像使用新的MemoryStream?
根据MSDN,您不应该写入已写入的流。
MSDN "Image.Save Method (Stream, ImageFormat)"
将您的代码更改为:
MemoryStream ms = new MemoryStream();
PIC1.Image.Save(ms, PIC1.Image.RawFormat);
byte[] byteImage = ms.ToArray();
MemoryStream ms1 = new MemoryStream();
PIC2.Image.Save(ms1, PIC2.Image.RawFormat);
byte[] byteImage1 = ms1.ToArray();
希望这有效。 :)
答案 1 :(得分:0)
在调试Format或stream时确保哪个值为null,并考虑对内存流使用“using”语句,以便释放资源,如下所示:
byte[] byteImage1;
using(MemoryStream ms = new MemoryStream())
{
PIC1.Image.Save(ms, PIC1.Image.RawFormat);
byteImage1 = ms.ToArray();
}
并考虑为每个图像使用两个内存流,如@ Tim.E建议的那样。