c#UWP store-app如何保存卸载应用后不会删除的文件

时间:2017-09-23 17:32:06

标签: c# uwp windows-store-apps uwp-xaml

我注意到该文件已保存到 的 ApplicationData.Current.LocalFolder.CreateFileAsync 应用程序卸载后删除文件夹。

可以保存在应用程序卸载后保留在用户分析器中的文件,因此当用户重新安装应用程序时,我可以从该文件中读取该用户的设置吗?

3 个答案:

答案 0 :(得分:5)

未经用户同意。您必须实现保存/加载功能,以询问用户保存文件的位置(如文档),然后选择要还原的文件。

答案 1 :(得分:1)

只有这两种方式是可能的:

  1. 让您的用户使用FilePickerFolderPicker选择文件或文件夹,然后在MostRecentlyUsedList中跟踪它们。然后,您将获得访问用户永久文件或文件夹的权限。但是您应该注意到在卸载/安装应用程序后,您必须再次要求用户选择相同的文件或文件夹。请参阅下面的Microsoft文档以了解有关它们的更多信息。

  2. 尝试使用您的云服务器存储永久文件。这是大多数网络公司产品的方法。如果你需要电力和金钱来建造或租用服务器,我建议你尝试这种方式。但在一个小型个人应用程序中浪费时间和金钱

  3. 总之,无法像Win32桌面应用程序那样轻松存储永久文件。

答案 2 :(得分:1)

如果您的文件较小,则可以将其存储在ApplicationData.Current.RoamingFolder中,该FileSavePicker漫游在用户的设备上。这种方法的缺点是,由于来自其中一个设备的后期同步以及文件仅在用户从其所有设备卸载应用程序后的有限时间内停留在云上,因此文件很容易被覆盖。查看有关漫游here in Docs的详细信息。

除此之外,您唯一的解决方案是在用户同意的情况下(使用FolderPicker<div class="four wide column middle aligned" *ngIf="wrongCredentialsInserted"> <div class="ui error message">Invalid credentials </div> </div> )或OneDrive将文件存储在用户驱动器上,这在备份中非常常见选项(此处您需要集成OneDrive SDK并获得用户的同意)。