J'utilise des données qui vont à une mvc api. Dans ce cas, je passe les données en utilisant le facteur. Le format de données est du texte brut. La valeur que je passe à l'API sont les suivantes, et représentent les données EDF (http://www.edfplus.info/):Impossible de lire le flux de mémoire C#
"rawdata":{
"binaryencoding":"base64","FileID":3,"ExtensionName":"edf",
"value":"gMnW5\/P5 \/Pz16+HZ087KyMbEwsHBwMDAwMHBwcLCw8PExMXFxsfHyMnJysvLy8zMy8vLysrKysnJycnJycrKysvLy8vMzMzMzc7Q0dLS0dHQzs3MysjHxcTCwL69u7m3trSysbCvra2sq6uqqqqqqqqqq6urrKysrK2tra.....QjY2SnKu7zNnb1Mi7sKehnJiWlJKRkZCQkJCRkZGSkpOTk5SUlJWVlpaXl5iYmZmampqam5qbm5ubm5ycnJ2dnp6fn6CgoaGioqGhoKCfnp6dnJybm5uampqamZmZmZiYmJeXlpaWlZWVlZSUlJOTk5KSkZGRkZGQkJCQkI+Pj4+Pj4+Pj..."
Ici, vous êtes un peu code.To garder les choses simples, je vais céder la rawdata.value du HttpPost directement à un objet qui a été créé auparavant, la valeur est une chaîne.
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);
lorsque vous inspectez le bloc, il a toutes ses valeurs comme suit, avec le symbole:
[0] = 65533 '�'
Je dois aussi ajouter que je quand je visite Stream, je peut voir que les propriétés readtimeout et writetimeout de flux à travers l'erreur suivante: System.InvalidOperationException
Savez-vous pourquoi cette erreur peut-être se produire? merci
Ce code n'a aucun sens, pouvez-vous nous dire ce que les données sont supposées représenter? Nous savons que vous avez * quelque chose * en encodage base64, mais qu'est ce que c'est? –
J'ai ajouté plus de détails, merci – Theman
Donc le contenu de cette chaîne codée base64 est en fait du texte? Est-ce que c'est ça? Pourquoi utilisez-vous '.ReadBlock? Que diriez-vous juste '.ReadLine'? –