【发布时间】:2017-01-18 01:53:16
【问题描述】:
在我的应用程序中,我使用的是 FileSavePicker 合同(提供者)。所以其他应用程序可以将文件保存到我的应用程序。我实现了它,如 MSDN 上所示。现在的问题是,我必须处理一个“已保存”的文件,但我怎么知道,何时保存完成?这是我的处理程序
private async void FileSavePickerUI_TargetFileRequested(FileSavePickerUI sender, TargetFileRequestedEventArgs args)
{
var deferral = args.Request.GetDeferral();
string saveFileName = sender.FileName;
StorageFolder fileSavePickerContractTempFolder = await ApplicationData.Current.LocalCacheFolder.CreateFolderAsync("FileSavePickerContract", CreationCollisionOption.OpenIfExists);
StorageFile fileSavePickerContractTempFile = await fileSavePickerContractTempFolder.CreateFileAsync(saveFileName, CreationCollisionOption.ReplaceExisting);
args.Request.TargetFile = fileSavePickerContractTempFile;
deferral.Complete();
}
我的应用程序的目标是周年纪念更新 (1607)。在 deferral.Complete() 之后,我需要更多地使用该文件以集成到我的应用程序中。有人能指出我正确的方向吗?
【问题讨论】:
-
使用
await fileSavePickerContractTempFolder.CreateFileAsync().ContinueWith((s,a)=> { <!-- Write your code here --> }) -
IAsyncOperation
不包含“ContinueWith”的定义 -
试试这个,看看它是否有效?
StorageFile fileSavePickerContractTempFile = await fileSavePickerContractTempFolder.CreateFileAsync(saveFileName, CreationCollisionOption.ReplaceExisting).AsTask<StorageFile>().ContinueWith((file) => { <!-- Your Code Goes here --> return file.Result; }); -
也没有工作。在“”上,我调用了一个方法并将 StorageFile 传入,但此时 StorageFile 甚至有 0bytes。
-
对这个问题没有更多的想法?
标签: c# uwp win-universal-app filesavepicker