【问题标题】:Get File ID from skydrive从 skydrive 获取文件 ID
【发布时间】:2013-05-31 14:16:28
【问题描述】:
【问题讨论】:
标签:
.net
windows-phone-8
onedrive
【解决方案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();
}
}
}