2

Web サービスからストリームを取得します。

Stream resultStream = WebServiceEntities.GetAttachment(attachmentId);

ここに画像の説明を入力

このストリームをバイト配列に変換する必要がありますが、

試み # 1

byte[] resultBytes = null;
using (Stream stream = resultStream)
{
    using (MemoryStream ms = new MemoryStream())
    {
        int count = 0;
        do
        {
            byte[] buf = new byte[1024];
            count = stream.Read(buf, 0, 1024);
            ms.Write(buf, 0, count);
        } while (stream.CanRead && count > 0);
        resultBytes = ms.ToArray();
    }
}

試み # 2:

var memoryStream = new MemoryStream();
resultStream.CopyTo(memoryStream);
byte[] resultBytes = memoryStream.ToArray();

どちらの場合も (byte[] resultBytes) は常に空のバイト配列を返しますが、これが起こる原因を知っている人はいますか? Web サービスが返すストリームに何か問題がありますか?

4

0 に答える 0