将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");
        }

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

你想做的是不可能的。

如果您查看标准本身的RFC,URL/querystring的长度不可能那么长。大多数实现都会将它们截断大约2k个字符,而任何超过2k个的字符都需要通过POST发送。