C# 下载「;“文本”;使用LiveConnectAPI从skydrive下载文件
我正在使用适用于我的windows phone 7应用程序的LiveConnectAPI从skydrive下载文本文件C# 下载「;“文本”;使用LiveConnectAPI从skydrive下载文件,c#,windows-phone-7,live-connect-sdk,C#,Windows Phone 7,Live Connect Sdk,我正在使用适用于我的windows phone 7应用程序的LiveConnectAPI从skydrive下载文本文件 文本文件包含我需要在IsolatedStorage中写入的XML数据 问题是,当我从skydrive下载文件并写入IsolatedStorage时,IsolatedStream中会出现NULL。我需要写入skydrive根文件夹中文本文件的XML内容。 注意:- 名为userData.txt的文件位于“me/skydrive/files”中(skydrive的根文件夹,如果我访
文本文件包含我需要在IsolatedStorage中写入的XML数据 问题是,当我从skydrive下载文件并写入IsolatedStorage时,IsolatedStream中会出现NULL。
我需要写入skydrive根文件夹中文本文件的XML内容。
注意:- 名为userData.txt的文件位于“me/skydrive/files”中(skydrive的根文件夹,如果我访问根文件夹时出错,请更正我)
能否检查您正在使用的LiveConnect库的版本。微软最近对SkyDrive做了一些突破性的更改,使用旧版本的库构建的代码不再工作。您需要5.4版的库。是,这是正确的。当我将LiveConnect库更改为5.4时,一切都非常顺利。另一方面,代码没有任何问题。谢谢@jrc14
string id = string.Empty;
>client.GetCompleted += (obj, args) =>
{
List<Object> items = args.Result["data"] as List<Object>;
foreach (object item in items)
{
Dictionary<string, object> file = item as Dictionary<string, object>;
if (file["name"].ToString() == "userData.txt")
{
id = file["id"].ToString();
break;
}
}
client.DownloadAsync(id+"/content");
};
client.GetAsync("me/skydrive/files");
client.DownloadCompleted += (o, a) =>
{
MemoryStream outputStream = (MemoryStream)a.Result;
//Saving the file to Isolated Storage.
var myStore = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream myFileStream = myStore.CreateFile(GlobalConstants.cnst_storefile_name);
myFileStream.Write(outputStream.GetBuffer(), 0, (int)outputStream.Length);
myFileStream.Close();
StreamReader reader = new StreamReader(new IsolatedStorageFileStream(GlobalConstants.cnst_storefile_name, FileMode.Open, myStore));
string rawData = reader.ReadToEnd();
reader.Close();
};
}