如何在Windows Phone 8.1中使用POST方法发送MultipartForm


How to send MultipartForm using POST method in (Windows Phone 8.1) C#

可以任何一个解释我如何能使POST请求到web上的URL与不同类型的数据,在我的情况下,我有一个图像和两个字符串类型的值发送到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();

我把它写在我的博客上,下面是代码。:-)HappyCoding

上传HTTPWebrequest (multipart/form-data)文件

http://www.paraesthesia.com/archive/2009/12/16/posting-multipartform-data-using-.net-webrequest.aspx/