超工作平台。将文件从 FileOpenPicker 复制到本地存储

2024-01-12

FileOpenPicker picker = new FileOpenPicker();
picker.ViewMode = PickerViewMode.Thumbnail;
picker.SuggestedStartLocation = PickerLocationId.ComputerFolder;
picker.FileTypeFilter.Add(".txt");

用户选择要打开的文件。如何将该文件存储/复制/保存到本地存储以供将来使用,以便每次应用打开时都会自动选择该文件?


用户使用以下命令打开文件后FileOpenPicker您可以使用“缓存”对其的访问StorageApplicationPermissions API.

一旦你拥有了StorageFile如果您想自动打开,可以使用以下代码“缓存”您对它的访问:

string token = StorageApplicationPermissions.FutureAccessList.Add( file );

您得到的是一个字符串令牌,您可以将其保存在应用程序设置中。下次打开应用程序时,您可以使用以下代码再次检索该文件:

StorageFile file = 
   await StorageApplicationPermissions.FutureAccessList.GetFileAsync(token);

请注意,此 API 最多可存储 1000 个项目,因此如果您希望添加更多项目,则必须确保删除旧文件,否则您将无法添加新文件。

还有一个替代方案——StorageApplicationPermissions.MostRecentlyUsedList您可以使用与FutureAccessList,但它的优点是自动管理列表。它最多可以存储 25 个项目,但它能够在不再需要时自动删除最旧的项目。

另请注意,此 API 不仅可以缓存对文件的访问,还可以缓存对文件夹的访问(StorageFolder).

将文件复制到AppData文件夹

如果您只想创建所选文件的本地副本,可以将其复制到应用程序的本地文件夹。

var file = await picker.PickSingleFileAsync();
if ( file != null )
{
   await file.CopyAsync( ApplicationData.Current.LocalFolder );
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

超工作平台。将文件从 FileOpenPicker 复制到本地存储 的相关文章

  • 模板类的不明确多重继承

    我有一个真实的情况 可以总结为以下示例 template lt typename ListenerType gt struct Notifier void add listener ListenerType struct TimeListe
  • SSH 主机密钥指纹与模式 C# WinSCP 不匹配

    我尝试通过 WinSCP 使用 C 连接到 FTPS 服务器 但收到此错误 SSH 主机密钥指纹 与模式不匹配 经过大量研究 我相信这与密钥的长度有关 当使用 服务器和协议信息 下的界面进行连接时 我从 WinSCP 获得的密钥是xx xx
  • 为什么禁止在 constexpr 函数中使用 goto?

    C 14 对你能做什么和不能做什么有规则constexpr功能 其中一些 没有asm 没有静态变量 看起来相当合理 但标准也不允许goto in constexpr功能 即使它允许其他控制流机制 这种区别背后的原因是什么 我以为我们已经过去
  • 是否可以在 Visual Studio 2008 和 Visual Source Safe 6.0 中使用 WinMerge?

    我想在解决方案资源管理器中使用 WinMerge 作为 VS2008 内的默认比较工具来代替 比较 上下文菜单项 这可能吗 我正在寻找一个快速替代当前乏味差异工具的工具 我只是更喜欢 WinMerge 我对进入文件夹资源管理器并在那里进行比
  • 将字符串从非托管代码传递到托管

    我在将字符串从非托管代码传递到托管代码时遇到问题 在我的非托管类中 非托管类 cpp 我有一个来自托管代码的函数指针 TESTCALLBACK FUNCTION testCbFunc TESTCALLBACK FUNCTION 接受一个字符
  • 基于范围的 for 循环中的未命名循环变量?

    有没有什么方法可以不在基于范围的 for 循环中 使用 循环变量 同时也避免编译器发出有关未使用它的警告 对于上下文 我正在尝试执行以下操作 我启用了 将警告视为错误 并且我不想进行像通过在某处毫无意义地提及变量来强制 使用 变量这样的黑客
  • .Net Core / 控制台应用程序 / 配置 / XML

    我第一次尝试使用新的 ConfigurationBuilder 和选项模式进入 Net Core 库 这里有很多很好的例子 https docs asp net en latest fundamentals configuration ht
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • 线程、进程和 Application.Exit()

    我的应用程序由主消息循环 GUI 和线程 Task Factory 组成 在线程中我调用一些第三方应用程序var p new Process 但是当我调用Application Exit 在消息循环中 我可以看到在线程中启动的进程仍在内存中
  • 初始化变量的不同方式

    在 C 中初始化变量有多种方法 int z 3 与 int 相同z 3 Is int z z 3 same as int z z 3 您可以使用 int z z 3 Or just int z 3 Or int z 3 Or int z i
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • 更改窗口的内容 (WPF)

    我创建了一个简单的 WPF 应用程序 它有两个 Windows 用户在第一个窗口中填写一些信息 然后单击 确定 这会将他们带到第二个窗口 这工作正常 但我试图将两个窗口合并到一个窗口中 这样只是内容发生了变化 我设法找到了这个更改窗口内容时
  • 用 C 实现 Unix shell:检查文件是否可执行

    我正在努力用 C 语言实现 Unix shell 目前正在处理相对路径的问题 特别是在输入命令时 现在 我每次都必须输入可执行文件的完整路径 而我宁愿简单地输入 ls 或 cat 我已经设法获取 PATH 环境变量 我的想法是在 字符处拆分
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 在 URL 中发送之前对特殊字符进行百分比编码

    我需要传递特殊字符 如 等 Facebook Twitter 和此类社交网站的 URL 为此 我将这些字符替换为 URL 转义码 return valToEncode Replace 21 Replace 23 Replace 24 Rep
  • Bing 地图运行时错误 Windows 8.1

    当我运行带有 Bing Map 集成的 Windows 8 1 应用程序时 出现以下错误 Windows UI Xaml Markup XamlParseException 类型的异常 发生在 DistanceApp exe 中 但未在用户
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var

随机推荐

  • 如何直接从 UIWebView 将登录信息传递到网站而不需要再次登录?

    我想使用 UIWebView 在我的 iPhone 应用程序中打开一些网站 该网站需要用户名和密码 我有这些用户名和密码 我想知道是否可以在 UIWebView 中打开网站而无需任何登录屏幕 我的意思是 因为我已经有了用户名和密码 我可以使
  • 如何防止 Java 中出现 403 HTTP 错误代码?

    我使用简单的代码来获取htmlhttp www ip adress com http www ip adress com 但它显示错误http代码403 我在其他网站 例如google com 的程序中尝试过 它可以工作 我也可以在浏览器中
  • 如何使用 R formattable 包更改表标题行的外观

    我正在使用 R 中的 formattable 包来生成 HTML 表 我可以使用格式化程序来自定义表中数据值的外观 例如字体大小 颜色等 但我不知道如何更改表标题行的外观 我可以使用 col names 更改实际的列名称 但无法更改它们的外
  • 在java中获取模式值

    有人知道如何从数组中获取模式值吗 例如 如果我有一个数字不同的数组 我如何使用Java来查找出现次数最多的数字 完成时间为 O n 而不是 O n 2 需要长度 gt 0 的数组 public static int getMode int
  • 在 GDB 中创建 C++ 字符串

    我在创建时遇到问题std string 或者任何 C 对象 我猜 在 GDB 中 我尝试了以下多种变体 但似乎都不起作用 gdb p std string hello A syntax error in expression near he
  • 迭代 json 对象来绘制柱形图?

    I use google load visualization 1 packages columnchart google setOnLoadCallback drawChart function drawChart response al
  • NodeJS 中用于 API 的存根 DynamoDB

    我在存根 DynamoDB 调用以进行 API 测试时遇到问题 我正在使用无服务器摩卡 想要从端到端的角度测试我的 API 项目结构并不简单 但在 API 文件本身内部 我对不同的类文件进行了单独的调用 以实际使用 DynamoDB 函数
  • malloc: *** 对象错误: 未分配被释放的指针 *** 在 malloc_error_break 中设置断点进行调试

    有人可以帮我弄清楚我在哪里收到此错误吗 我知道这可能是双重删除或类似的事情 对于背景 这是霍夫曼树的实现 您可以轻松地实现维基百科 http en wikipedia org wiki Huffman coding CharCountNod
  • 仅在底部 UIView 上设置阴影

    我想在 UIView 上创建仅底部的阴影 现在使用此功能 将在顶部 底部 左侧和右侧创建阴影 func setCardView view UIView view layer masksToBounds false view layer sh
  • 动画后如何保持样式? [复制]

    这个问题在这里已经有答案了 我正在制作一个作品集 以便在我申请下一次学习时展示 由于我们生活在 2012 年 它有大量精美的动画和 CSS3 垃圾 只是为了给他们 我们需要这个家伙 的感觉 我现在遇到一个小问题 这是特定元素的一小部分 Th
  • System.InvalidOperationException:Android 上全局不支持 PushAsync

    我正在关注这个 Xamarin Forms快速入门指南 https developer xamarin com guides xamarin forms getting started hello xamarin forms multisc
  • 1052: 字段列表中的列“id”不明确

    我有2张桌子 tbl names and tbl section它同时具有id场在他们之中 我该如何选择id字段 因为我总是收到此错误 1052 Column id in field list is ambiguous 这是我的查询 SEL
  • 在模板类中实现 >> 和 << 运算符的重载

    我正在尝试编写函数定义 以在类定义之外重载运算符 gt gt 和 1 gt Source obj error LNK2019 unresolved external symbol class std basic istream
  • 从Python中的循环输出中删除重复的结果

    我的循环数据生成一系列字符串 这些字符串是从数据库检索的句子 但是 我在数据库中的数据结构需要有重复项 但我想在输出中忽略重复项 假设我的循环和结果如下 for text in document print text Output He g
  • 主屏幕顶部带有 FLAG_NOT_TOUCH_MODAL 标志的 Android 活动

    我正在使用 FLAG NOT TOUCH MODALset 进行 Android 活动 我的活动是半透明的 不是全屏的 我只想将活动窗口边界之外的触摸事件绕过到底层活动 我能够成功绕过该事件 以便当我的活动位于其之上时我可以滚动底层活动 我
  • 根据打字稿中的属性对对象数组进行排序

    我在表中显示了一个包含 请求 类型项目的数组 我想对表的列进行排序 因此我计划为每个列标题创建一个单击方法 此方法根据该列中显示的属性值对数组进行排序 public sortProduct void this requests sort a
  • Qt4 的命令行解析器

    我正在寻找 Qt4 的命令行解析器 我做了一个小的谷歌搜索 发现了这个 但是它缺乏对 enable foo 和 disable foo 开关的支持 除此之外 它看起来像是一个真正的赢家 EDIT 看来Frologic 删除了这个 因此 我看
  • 具有即时应用程序的 Android 架构组件

    我想让我的应用程序为即时应用程序做好准备 我创建了一个应用程序模块 基本模块和一个功能模块 如果我在此配置中运行我的项目 一切都会很好 当我在基本模块 Gradle 文件中实现以下几行时 annotationProcessor androi
  • 如何进行多级公会?

    我有这个设置 Continent gt Country gt City gt Post 我有 class Continent lt ActiveRecord Base has many countries end class Country
  • 超工作平台。将文件从 FileOpenPicker 复制到本地存储

    FileOpenPicker picker new FileOpenPicker picker ViewMode PickerViewMode Thumbnail picker SuggestedStartLocation PickerLo