2013-05-31 5 views
0

У меня есть 2 приложения, которые загружают простой текстовый файл в Skydrive, а другой, который его извлекает. Я получил, что бит загрузки работает нормально, но как я могу получить идентификатор файла для загрузки того же файла из SkyDrive? :(Получить идентификатор файла из skydrive

Я попытался использовать код из 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(); 
     } 
    } 
} 
Смежные вопросы