将json中超过二十万个字符的查询字符串发送到api-c#

将json中超过二十万个字符的查询字符串发送到api-c#,c#,json,asp.net-web-api,query-string,C#,Json,Asp.net Web Api,Query String,我想发送一个通过json转换成base64的jpeg图像。图像大小约为660kb,转换后的字符长度约为200万。我需要的是将其发送到api??在查询字符串中,如果可能的话 我得到的错误是字符串太长。还有其他选择吗 HttpClient client = new HttpClient(); string uploadJson = "http://mylink/WebApi/api/uploadPhoto?jsonImage=" + jsonImage + "&

我想发送一个通过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");
        }
HttpClient=newhttpclient();
字符串uploadJson=”http://mylink/WebApi/api/uploadPhoto?jsonImage=“+jsonImage+”&IdOdl=“+IdOdl+”&SnDevice=“+SnDevice+”&cod=“+cod+”&idtechnology=“+idtechnology+”&id_producer=“+id_producer+”&pdr=“+pdr;
client.BaseAddress=新Uri(uploadJson);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(新的MediaTypeWithQualityHeaderValue(“应用程序/json”);
任务响应=client.GetAsync(uploadJson);
HttpResponseMessageRes=响应.结果;
如果(!res.IsSuccessStatusCode)
{
控制台。写入(“错误上载”);
}

你想做的事是不可能的


如果查看URL,URL/querystring的长度不能那么长。大多数实现都会将它们切掉大约2k个字符,以及任何需要通过POST发送的内容。

根据您收到的确切错误消息,无论是客户端还是服务器端,这可能有所不同。然而,最明显的方法是将图像文件发布到主体中,而不是通过查询字符串。