我正在使用一些數據,這是一個mvc api。在這種情況下,我使用郵遞員傳遞數據。 數據格式爲原始文本。那我傳遞給API的價值以下,代表EDF(http://www.edfplus.info/)數據:無法讀取內存流c#
"rawdata":{
"binaryencoding":"base64","FileID":3,"ExtensionName":"edf",
"value":"gMnW5\/P5 \/Pz16+HZ087KyMbEwsHBwMDAwMHBwcLCw8PExMXFxsfHyMnJysvLy8zMy8vLysrKysnJycnJycrKysvLy8vMzMzMzc7Q0dLS0dHQzs3MysjHxcTCwL69u7m3trSysbCvra2sq6uqqqqqqqqqq6urrKysrK2tra.....QjY2SnKu7zNnb1Mi7sKehnJiWlJKRkZCQkJCRkZGSkpOTk5SUlJWVlpaXl5iYmZmampqam5qbm5ubm5ycnJ2dnp6fn6CgoaGioqGhoKCfnp6dnJybm5uampqamZmZmZiYmJeXlpaWlZWVlZSUlJOTk5KSkZGRkZGQkJCQkI+Pj4+Pj4+Pj..."
給你一些code.To讓事情變得簡單,我會從httppost直接分配rawdata.value到之前創建的對象,值是一個字符串。
myObject.value=rawdata.value;
byte[] data=Base64.Convert.FromBase64String(myObject.value);(myobject.Value); //this gives you a 15.000 positions array.
Stream stream = new MemoryStream(data);
//the stream gets those ReadTimeOut and WriteTimeOut exceptions,after being created
StreamReader Sr=new StreamReader(stream);
char[] header=new char[256];
sr.ReadBlock(header, 0, 256);
當您檢查塊,它有它的所有值類似下面,用符號:
[0] = 65533 '�'
我還必須補充一點,我當我檢查流,我通過以下錯誤可以看到stream readtimeout和writetimeout屬性:System.InvalidOperationException
您知道爲什麼會發生此錯誤嗎?謝謝
此代碼沒有意義,您能告訴我們數據應該是/代表什麼?我們知道你有* base64編碼的東西*,但那是什麼東西? –
我添加了更多細節,謝謝 – Theman
那麼base64編碼字符串的內容實際上是文本?是嗎?你爲什麼使用'.ReadBlock?那麼'.ReadLine'怎麼樣? –