私はHTTPサーバー/クライアントの開発に取り組んでおり、現在、.txtファイルやその他の読みやすいファイルなど、多くのメモリを必要としない小さなファイルを送信できます。ただし、.exe や大きな .pdf などの大きなファイルを送信したい場合、メモリ エラーが発生します。これは、ファイルを送受信する前に、byte[] バッファのサイズを指定する必要があるという事実から発生しています。ストリームから読み取り中にバッファのサイズを取得する方法はありますか?
私はこのようなことをしたい:
//Create the stream.
private Stream dataStream = response.GetResponseStream();
//read bytes from stream into buffer.
byte[] byteArray = new byte[Convert.ToInt32(dataStream.Length)];
dataStream.read(byteArray,0,byteArray.Length);
ただし、「dataStream.Length」を呼び出すと、エラーがスローされます。
ExceptionError: This stream does not support seek operations.
ストリームから byte[] の長さを取得する方法について誰かアドバイスをいただけますか?
ありがとう、