用.NET存储应用程序上传文件

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

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

不幸的是,我不能在.NET中为Windows存储做这个。 我如何才能实现一个类似的function,只使用.NET的Windows存储?

Solutions Collecting From Web of "用.NET存储应用程序上传文件"

我会尝试HttpClient类 – http://msdn.microsoft.com/en-us/library/system.net.http.httpclient.aspx – 它有Post方法,如果你看这个答案在这里输入链接描述 ,它显示了如何创建文件上传的多部分数据。

您首先需要获取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); } } }