首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UWP FileSavePicker合同文件处理

UWP FileSavePicker合同文件处理
EN

Stack Overflow用户
提问于 2017-01-11 16:25:02
回答 2查看 1.8K关注 0票数 0

在我的应用程序中,我使用的是一个FileSavePicker合同(提供者)。所以其他应用程序可以将文件保存到我的应用程序中。我实现了它,如MSDN所示。现在的问题是,我必须处理一个“保存”文件,但我如何知道,何时完成保存?这是我的经纪人

代码语言:javascript
复制
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()之后,我需要更多地处理该文件,以便在我的应用程序中进行集成。有人能给我指明正确的方向吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-17 17:53:16

使用CacheFileUpdater,我可以对文件作出反应,只要它被完整地写好了

代码语言:javascript
复制
CachedFileUpdater.SetUpdateInformation(fileSavePickerContractTempFile, url, ReadActivationMode.NotNeeded, WriteActivationMode.AfterWrite, CachedFileOptions.None);

在App.xaml.cs上,我现在重写"OnCachedFileUpdaterActivated“事件,在该事件中,我可以使用完全编写的文件执行一些操作。因此,现在,正如预期的那样,这是可行的。

但!这在Windows10Mobile上不起作用,在那里OnCachedFileUpdaterActivated EventHandler on App.xaml.cs不会被触发,为什么会这样?

票数 1
EN

Stack Overflow用户

发布于 2017-01-11 16:33:42

您的文件在await CreateFileAsync行后保存。方法CreateFileAsync本身返回IAsyncOperation,如果您对其进行await,则在此操作完成后将执行await后面的下一行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41595862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档