使用.NET上传文件以获取Windows应用商店应用

时间:2013-03-24 19:05:19

标签: c# .net windows windows-8 windows-store

现在我已经意识到我不能使用普通的.NET来编写我的Windows应用商店应用程序,我正试图解决Windows应用商店应用程序.NET的混乱问题。我的最新发现是缺少System.Net.WebClient类,我需要使用它来上传文件。如果这堂课在那里,我会做一些事情:

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

不幸的是,我不能在.NET for Windows商店中这样做。如何仅使用.NET for Windows商店实现类似的功能?

2 个答案:

答案 0 :(得分:2)

我会尝试HttpClient类 - http://msdn.microsoft.com/en-us/library/system.net.http.httpclient.aspx - 它有Post方法,如果你看一下这个答案enter link description here,它会显示如何为文件上传创建多部分数据。

答案 1 :(得分:0)

首先需要引用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);
        }
    }
}