readBytes = stream.Read(buffer, 0, bufferLength);//这里返回的是readBytes是你实际读取的长度,readBytes应该是小于等于bufferLength的
requestStream.Write(buffer, 0, bufferLength);//所以这个地方应该改成
requestStream.Write(buffer, 0, readBytes);写的长度应该是实际读取的长度,而不应该是缓冲区的长度
补充,按我的办法改成requestStream.Write(buffer, 0, readBytes);就可以了.不会带空格的