2013-03-24 4 views
1

.NET을 사용하여 Windows 스토어 앱을 작성할 수 없다는 사실을 알게되었으므로 Windows 스토어 앱의 경우 .NET . 최근에 발견 한 바에 따르면 System.Net.WebClient 클래스가 누락되어 파일 업로드에이 파일을 사용해야했습니다. 이 클래스가 있었다면, 나는의 라인을 따라 뭔가를했을 : 불행하게도Windows 용 .NET 파일 업로드 Store Apps

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

, 나는 창문 저장소 .NET에서이 작업을 수행 할 수 없습니다. .NET 만 사용하여 Windows 기능을 갖춘 비슷한 기능을 어떻게 얻을 수 있습니까?

답변

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

0

먼저 StorageFile을 참조해야합니다.

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

그런 다음 파일을 업로드하려면 다음 코드를 사용 (내가 업로드 페이지가 유용하지 않는 한 나는 그것을 시도하지 않은,하지만 그것을 작동합니다) : FileOpenPicker을 사용하면 하나 개의 방법이 될 것입니다

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); 
     } 
    } 
} 
관련 문제