gpt4 book ai didi

c# - 如何在 (Windows Phone 8.1) C# 中使用 POST 方法发送 MultipartForm

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:50 25 4
gpt4 key购买 nike

任何人都可以解释我如何使用不同类型的数据向 Web 上的 URL 发出 POST 请求,在我的例子中,我有一个图像和两个字符串类型值要发送到 PHP 中的服务器。
这是我已经做过的

var stream = await file.OpenStreamForReadAsync();
var streamcontent = new StreamContent(stream);
streamcontent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
{
Name = "photo",
FileName = file.Name
};
streamcontent.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");
MultipartFormDataContent multipart = new MultipartFormDataContent();
multipart.Add(streamcontent);
try
{
descContent = mytextbox.Text;
var stringcontent = new StringContent(descContent);
stringcontent.Headers.ContentType.Parameters.Add(new NameValueHeaderValue("description", descContent));
multipart.Add(stringcontent);

HttpResponseMessage res = await client.PostAsync(new Uri("http://localhost/web/test/index.php"), multipart);
res.EnsureSuccessStatusCode();
mytextbox.Text = await res.Content.ReadAsStringAsync();
}
catch (HttpRequestException ex)
{
mytextbox.Text = ex.Message;
}


此代码将发送图像文件而不是描述(字符串),我已经在互联网上搜索但找不到合适的答案。
这是 PHP 代码

if (isset($_FILES['photo']))
{
echo $_FILES["photo"]["name"] . "<br>";
}
else
{
echo "Image: Error<br>";
}

if (isset($_POST['description']))
{
echo $_POST['description'];
}
else
{
echo "Text: Error";
}


如有任何回应,我们将不胜感激。
谢谢

最佳答案

我找了很多,终于找到了出路。这是代码

HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://www.yourdomain.com");
MultipartFormDataContent form = new MultipartFormDataContent();
HttpContent content = new StringContent("your string type data you want to post");
form.Add(content, "name");
var stream = await file.OpenStreamForReadAsync();
content = new StreamContent(stream);
content.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
{
Name = "image",
FileName = file.Name
};
form.Add(content);
var response = await client.PostAsync("index.php", form);
mytextblock.Text = response.Content.ReadAsStringAsync();

我写在我的博客上here是代码。 :-)快乐编码

关于c# - 如何在 (Windows Phone 8.1) C# 中使用 POST 方法发送 MultipartForm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25476312/

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