簡體   English   中英

流不支持搜索操作

[英]Stream does not support seek operations

我正在嘗試發布到唯一需要參數為“描述”的網站。 我相信這與我編碼數據的方式有關。 我是否以錯誤的方式錯過了一些事情/正在做這件事?

string postData = String.Format("description=" + description + "&");
byte[] byteArray = Encoding.UTF8.GetBytes(postData);

HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(url);
wr.Method = WebRequestMethods.Http.Post;
wr.ContentLength = byteArray.Length;
wr.ContentType = "application/x-www-form-urlencoded";

Stream postStream = wr.GetRequestStream();
postStream.Write(byteArray, 0, byteArray.Length);
postStream.Close();

WebResponse response = await wr.GetResponseAsync();
HttpWebResponse webResponse = (HttpWebResponse)response;
using (var stm = response.GetResponseStream())
{
    using (var reader = new StreamReader(stm))
    {
        var content = await reader.ReadToEndAsync();
        reader.Close();
        stm.Close();
        return content;
    }
}

您嘗試閱讀的流顯然不支持搜索。 您還可以通過其CanSeek屬性以編程方式進行驗證。

如果要在流中查找相同的數據,請考慮將當前流的整個內容讀取到byte[]緩沖區,然后從該緩沖區構造一個MemoryStream ,以與StreamReader一起使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM