[英]UWP FileSavePicker Contract File Processing
在我的應用程序中,我正在使用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()之后,我需要對該文件進行更多處理以集成到我的App中。 有人可以指出我正確的方向嗎?
使用CacheFileUpdater,我可以對文件做出反應,一旦文件被完全寫入
CachedFileUpdater.SetUpdateInformation(fileSavePickerContractTempFile, url, ReadActivationMode.NotNeeded, WriteActivationMode.AfterWrite, CachedFileOptions.None);
現在在App.xaml.cs上,我將覆蓋“ OnCachedFileUpdaterActivated”事件,在該事件中,我可以對完全寫入的文件執行某些操作。 因此,這現在按預期工作。
但! 這在Windows 10移動版上不起作用,App.xaml.cs上的OnCachedFileUpdaterActivated EventHandler未被激發,這是為什么?
您的文件通過await CreateFileAsync
行保存。 方法CreateFileAsync
本身會返回IAsyncOperation
,如果您await
它,則此操作完成后將執行await
之后的下一行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.