Я использую HttpWebRequest.GetStreamData () для получения данных из потока, а затем записываю пару файлов в эту переменную. Прежде чем вызвать метод GetResponse () в потоке, мне нужно получить копию данных и поместить ее в текстовый формат. Вот мой фрагмент кода
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(url);
wr.Method = "POST";
string requestbody = "Some Body Text"
Stream rs = wr.GetRequestStream();
foreach (fragment in Documents).ToList())
{
byte[] requestBytes = System.Text.Encoding.UTF8.GetBytes(requestbody);
rs.Write(requestBytes, 0, requestBytes.Length);
FileStream fileStream = new FileStream(fragment.FilePath, FileMode.Open, FileAccess.Read);
byte[] buffer = new byte[4096];
int bytesRead = 0;
while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
{
rs.Write(buffer, 0, bytesRead);
}
fileStream.Flush();
fileStream.Close();
fileStream = null;
byte[] trailer = System.Text.Encoding.ASCII.GetBytes("Trailer Text");
rs.Write(trailer, 0, trailer.Length);
}
}
using (StreamReader strm = new StreamReader(rs))
{
string text = strm.ReadToEnd();
}
rs.Close();
rs = null;
Проблема в том, что я получаю сообщение об ошибке «Поток не читается». Когда я проверяю свойство rs.canread, оно устанавливается в false.
Может ли кто-нибудь помочь мне прочитать содержимое моего потока rs. Я попробовал несколько методов, но ни один из них, похоже, не работает.