2013-03-24 33 views
1

現在我已經意識到我無法使用正常的.NET來編寫我的Windows應用商店應用,我試圖通過對於Windows應用商店應用的.NET 。我最近的發現是System.Net.WebClient類缺失,我需要使用它來上傳文件。曾經來過這個班,我會沿着線做了一些:使用.NET上傳文件用於Windows應用商店

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

不幸的是,我不能爲Windows應用商店這樣做是.NET。我將如何使用.NET for Windows Store實現類似的功能?

回答

2

我想嘗試HttpClient類 - http://msdn.microsoft.com/en-us/library/system.net.http.httpclient.aspx - 它有Post方法,如果你看這個答案enter link description here,它顯示瞭如何創建文件上傳的多部分數據。

+0

感謝您的幫助,對不起,如果我很密集,但看起來好像在該示例中使用的其他幾個類不受支持。例如'FileStream','httpWebRequest.GetResponse()'和'httpWebRequest.GetRequestStream()'都沒有找到,並且'System.Text.Encoding.ASCII'似乎缺少,或者至少移動了。 – user2178640 2013-03-24 19:28:40

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); 
     } 
    } 
}