Ok, le problème est que j'essaie d'envoyer un tableau d'octets via HTTP codé en base64. Bien que la chaîne que je reçois à l'autre extrémité ait la même taille que la chaîne d'origine, les chaînes elles-mêmes ne sont pas identiques, donc je ne peux pas décoder la chaîne dans le tableau d'octets d'origine.Problème lors de l'envoi d'une chaîne encodée en base64 via HTTP avec .NET
De plus, j'ai effectué une conversion de/vers base64 côté client avant d'envoyer la chaîne et tout fonctionne correctement. C'est après l'envoi que le problème se produit.
Y at-il quelque chose qui me manque? Un type de formatage particulier? J'ai essayé d'utiliser EscapeData() mais la chaîne est trop grande.
Nous vous remercions à l'avance
modifier: Code
System.Net.WebRequest rq = System.Net.WebRequest.Create("http://localhost:53399/TestSite/Default.aspx");
rq.Method = "POST";
rq.ContentType = "application/x-www-form-urlencoded";
string request = string.Empty;
string image = Convert.ToBase64String(System.IO.File.ReadAllBytes("c:\\temp.png"));
request += "image=" + image;
int length = image.Length;
byte[] array = new UTF8Encoding().GetBytes(request);
rq.ContentLength = request.Length;
System.IO.Stream str = rq.GetRequestStream();
str.Write(array, 0, array.Length);
System.Net.WebResponse rs = rq.GetResponse();
System.IO.StreamReader reader = new System.IO.StreamReader(rs.GetResponseStream());
string response = reader.ReadToEnd();
reader.Close();
str.Close();
System.IO.File.WriteAllText("c:\\temp\\response.txt", response);
Veuillez fournir un exemple de code, ou au moins spécifier * où * vous envoyez la valeur, par ex. corps ou URL. –
En outre, vous êtes conscient qu'il existe des limites de taille pour cela si vous envoyez via le paramètre GET? –
Je post-it. Je vais ajouter l'extrait de code dans un peu. – mtranda