将json中超过20万个字符的查询字符串发送到api-c#
本文关键字:字符串 查询 api-c# 字符 中超 json 20万 | 更新日期: 2023-09-27 17:59:47
我想发送一个通过json转换为base64的jpeg图像。图像大小约为660kb,转换后的字符长度约为200万。我需要的是将它发送到api??如果可能的话,在查询字符串中。
我得到的错误是字符串太长。有其他选择吗?
HttpClient client = new HttpClient();
string uploadJson = "http://mylink/WebApi/api/uploadPhoto?jsonImage=" + jsonImage + "&IdOdl=" + IdOdl + "&SnDevice=" + SnDevice + "&cod=" + cod + "&IdTechnician=" + IdTechnician + "&id_producer=" + id_producer + "&pdr=" + pdr;
client.BaseAddress = new Uri(uploadJson);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
Task<HttpResponseMessage> response = client.GetAsync(uploadJson);
HttpResponseMessage res = response.Result;
if (!res.IsSuccessStatusCode)
{
Console.Write("Error upload");
}
你想做的是不可能的。
如果您查看标准本身的RFC,URL/querystring的长度不可能那么长。大多数实现都会将它们截断大约2k个字符,而任何超过2k个的字符都需要通过POST发送。