[求助一个折磨了小弟一整天的问题]关于wp8对skydrive文件的下载操作问题
大家好。
小弟一个wp8项目需要对skydrive进行操作。
参照msdn,安装了live sdk 5.5
在应用中登陆账号后,使用如下语句可以下载文件:
client.BackgroundDownloadAsync("me/skydrive/text.txt", new Uri("/shared/transfers/test.txt", UriKind.RelativeOrAbsolute), ctsDownload.Token, progressHandler);
运行该语句后。我可以在/shared/transfers下面找到test.txt这个文件。但是这个文件的大小为0,只创建了个空文件,根本没下载的感觉。这是什么原因呢?
然后还有一个问题。查看msdn或者stackoverflow关于wp8 live sdk的问题,发现有这么一个事件可用:
liveConnectClient.DownloadCompleted += new EventHandler<LiveDownloadCompletedEventArgs>(this.HandleDownloadResponseFromSkyDriveInBackground);
liveConnectClient.DownloadAsync(fileid+"/content");
msdn上面也介绍了这些方法。什么DownloadCompleted ,updatecomplete之类。
但是我的live sdk 5.5的liveConnectClient对象下面根本没有这些方法。简直莫名其妙。为什么资料上说有我的liveConnectClient对象下面根本没有这些方法呢?
这两个问题郁闷了一整天。资料翻遍了也没找到答案。求助各位高手指点下,感激不尽。
[解决办法]
身份验证什么的什么做了吗?
[解决办法]
1,因为me/skydrive/text.txt不是有效的pathhttp://msdn.microsoft.com/zh-cn/library/live/jj219338.aspx.你注册下BackgroundDownloadCompleted事件看看e.Error的错误提示。
2,DownloadCompleted ,updatecomplete没有这些事件是5.5中使用了await和async的方式来进行异步编程。你看看你的DownloadAsync方法,是有返回值的。
var result=await client.DownloadAsync(...);