下载异步结果文件为空

本文关键字:文件 结果 异步 下载 | 更新日期: 2023-09-27 18:37:05

我使用Live SDK 5.6,我正在尝试从OneDrive下载文件。使用 CreateBackgroundDownloadAsync (innerItem.ID + "/Content") ,为什么结果文件为空?

foreach (var innerItem in resultItems.data)
{
    if (innerItem.name == "MoneyNote.db")
    {
        LiveDownloadOperation operation = await liveConnectClient.CreateBackgroundDownloadAsync(innerItem.id + "/Content");
        //LiveDownloadOperationResult downloadResult = await operation.StartAsync();
        var downloadResult = await operation.StartAsync();
        if (downloadResult.File != null)
        {
            StorageFile downFile = await ApplicationData.Current.LocalFolder.GetFileAsync("MoneyNote.db");
            await downloadResult.File.MoveAndReplaceAsync(downFile);
            messagePrint(true);
        }
        else
        {
            messagePrint(false);
        }
    }
}

下载异步结果文件为空

我认为

问题可能是,因为您正在创建后台下载(而不是在后台下载),然后您开始此下载操作,但文件需要时间才能下载。在这种情况下,下载这样的文件可能更容易:

foreach (var innerItem in resultItems.data)
{
    if (innerItem.name == "MoneyNote.db")
    {
        StorageFile downFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("MoneyNote.db", CreationCollisionOption.ReplaceExisting);
        var result = await liveConnectClient.BackgroundDownloadAsync(innerItem.id + "/content", downFile);
        messagePrint(true);
    }
}