gpt4 book ai didi

c# - 使用 HttpClient 通过 HTTP POST windows phone 8.1 上传图像和字符串

转载 作者:可可西里 更新时间:2023-11-01 16:05:10 25 4
gpt4 key购买 nike

我有一个用 C# 编写的 Windows Phone 应用程序。我正在尝试将图像 (byte[]) 和 session token (字符串)发送到我的 Django 服务器,但不知道如何发送。

我看过其他帖子,但他们所做的不起作用,或者使用的类不存在。

我的函数的标题是:

    public static async Task<bool> sendImagePerfil(string token, byte[] imagen)
{
using (var client = new HttpClient())
{
var values = new List<KeyValuePair<string, string>>();
values.Add(new KeyValuePair<string, string>("token", token));
values.Add(new KeyValuePair<string, string>("image", Convert.ToString(imagen)));

var content = new FormUrlEncodedContent(values);

var response = await client.PostAsync("MyURL.domain/function", content);

var responseString = await response.Content.ReadAsStringAsync();
}


}

已编辑:我现在的问题是我的服务器无法获取图像。 Django 代码是:

     if request.method == 'POST':
form = RestrictedFileField(request.POST, request.FILES)
token = models.UsuarioHasToken.objects.get(token=parameters['token'])
user = token.user
print (request.FILES['image'])
user.image = request.FILES['image']

我无法修改 django 代码,因为该代码与 Android 应用程序一起使用

最佳答案

使用这个响应,

How to upload file to server with HTTP POST multipart/form-data

试试这个...

        HttpClient httpClient = new HttpClient();
MultipartFormDataContent form = new MultipartFormDataContent();

form.Add(new StringContent(token), "token");

var imageForm = new ByteArrayContent(imagen, 0, imagen.Count());
imagenForm.Headers.ContentType = new MediaTypeHeaderValue("image/jpg");

form.Add(imagenForm, "image", "nameholder.jpg");

HttpResponseMessage response = await httpClient.PostAsync("your_url_here", form);

response.EnsureSuccessStatusCode();
httpClient.Dispose();
string result = response.Content.ReadAsStringAsync().Result;

关于c# - 使用 HttpClient 通过 HTTP POST windows phone 8.1 上传图像和字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27211798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com