当我尝试使用xamarin表单发送base64时,uri太长了

时间:2017-10-08 19:43:38

标签: http xamarin mobile xamarin.forms

我正在使用xamarin.forms和System.Net.Http;

我正在使用帖子功能发送照片,这是:

public static async Task<String> PostImagemAsync(User user)
    {
        using (var client = new HttpClient())
        {
            try
            {

                var values = new List<KeyValuePair<string, string>>(0);
                values.Add(new KeyValuePair<string, string>("email", user.usua_login));
                values.Add(new KeyValuePair<string, string>("senha", user.usua_senha));
                values.Add(new KeyValuePair<string, string>("foto", user.cont_imagem));
                values.Add(new KeyValuePair<string, string>("json", "1"));

                var content = new FormUrlEncodedContent(values);

                HttpResponseMessage response = await client.PostAsync("http://ws.neosuite.com.br/login.asmx/foto", content);

                var json = response.Content.ReadAsStringAsync().Result;

                json = json.Substring(json.IndexOf('['));
                json = json.Substring(0, json.LastIndexOf(']') + 1);

                var userImage = JsonConvert.DeserializeObject<List<User>>(json);

                return userImage[0].cont_imagem;
            }

            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                return null;
            }
        }
    }

我的图片(foto)是一个base64当我尝试发送它时,我会收到此错误:

  

URI无效:Uri字符串太长。

如何解决?

1 个答案:

答案 0 :(得分:1)

如果不将您的POST内容添加到网址中,请使用以下代码将其添加到正文

#version 420 core

layout (binding = 0) uniform sampler2D diffuse;

layout(location = 0) out vec4 color;

void main()
{
    color = vec4(1, 1, 1, 1);
}