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 サービスが返すストリームに何か問題がありますか?