1

既然我已经意识到我不能使用正常.NET来编写我的 Windows 应用商店应用程序,我正试图通过.NETWindows 应用商店应用程序的混乱。我最新的发现是这个System.Net.WebClient类不见了,我需要用它来上传文件。如果这门课在那里,我会做一些类似的事情:

webClient.UploadFile("http://my.website/upload.php?a=" + someParam, "POST", filepath);

不幸的是,我不能在 .NET for windows store 中执行此操作。我将如何仅使用 .NET for Windows 商店来实现类似的功能?

4

2 回答 2

2

我会尝试 HttpClient 类 - http://msdn.microsoft.com/en-us/library/system.net.http.httpclient.aspx - 它具有 Post 方法,如果您查看此答案,请在此处输入链接描述,它展示了如何为文件上传创建多部分数据。

于 2013-03-24T19:10:44.860 回答
0

您首先需要获得对 a 的引用StorageFile。使用FileOpenPicker将是一种方式:

var filePicker = new FileOpenPicker();
filePicker.FileTypeFilter.Add(".txt");
var file = await filePicker.PickSingleFileAsync();

然后使用以下代码上传文件(我没有尝试过,因为我没有方便的上传页面,但它应该可以工作):

using (var randomStream = (await file.OpenReadAsync()))
{
    using (var stream = randomStream.AsStream())
    {
        using (var content = new StreamContent(stream))
        {
            var httpClient = new HttpClient();
            await httpClient.PostAsync(uri, content);
        }
    }
}
于 2013-03-25T06:03:03.180 回答