我在调试时有问题,我不知道什么是C#的原因

时间:2017-01-12 06:13:41

标签: c# sql

我有两个图像,第一个是产品,第二个是产品条码。 我用来创建这个代码的产品

<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  我该怎么解决呢。

2 个答案:

答案 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建议的那样。