2013-05-31 2 views
0

2 개의 앱이 있습니다. 하나는 Skydrive에 간단한 텍스트 파일을 업로드하고 다른 하나는이를 가져 오는 앱입니다. 업로드 비트가 정상적으로 작동하지만 SkyDrive에서 동일한 파일을 다운로드하기 위해 파일 ID를 얻는 방법은 무엇입니까? :( skydrive에서 파일 ID 가져 오기

내가 http://wp.qmatteoq.com/backup-and-restore-on-skydrive-in-windows-phone/에서 일부 코드를 사용했지만, WP8 위해 그들이 GetAsycn에 이벤트 핸들러를 제거했다()

어떤 도움이 많이 까다 무엇 비트 코드를 항상

답변

1

으로 감사드립니다 .. 관심있는 사람은 다음과 같이하십시오.

// This button reads the file from skydrive and puts it into isolated storage 
private async void Button_Click(object sender, RoutedEventArgs e) 
{ 
    string id = string.Empty; 
    LiveOperationResult result = await this.client.GetAsync("me/skydrive/files"); 

    List<object> items = result.Result["data"] as List<object>; 

    foreach (object item in items) 
    { 
     IDictionary<string, object> file = item as IDictionary<string, object>; 
     if (file["name"].ToString() == "somefile.txt") 
     { 
      id = file["id"].ToString(); 
     } 
    } 

    MessageBox.Show(id.ToString()); 

    LiveDownloadOperationResult result2 = await client.DownloadAsync(string.Format("{0}/content", id)); 
    Stream stream = result2.Stream; 
    using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication()) 
    { 
     using (IsolatedStorageFileStream fileToSave = storage.OpenFile("foo.txt", FileMode.Create, FileAccess.ReadWrite)) 
     { 
      stream.CopyTo(fileToSave); 
      stream.Flush(); 
      stream.Close(); 
     } 
    } 
}