You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 10 UWP Javascript应用下载权限及文件读写相关问题咨询

针对UWP JavaScript应用文件访问问题的解答

问题1:是否可以在Javascript中直接调用文件选择器?是否需要额外添加权限?还是需要改为基于WebView2的应用,通过C#实现该功能?

  • 完全可以直接在JavaScript中调用UWP原生提供的文件选择器API,无需切换到WebView2 + C#的技术栈。
  • 调用文件选择器本身不需要额外申请清单权限,只要用户主动选择了目标文件/文件夹,应用就会自动获得对应路径的读写权限,支持读写C盘任意用户自选文件夹、下载目录内的选中内容。
  • 调用FolderPicker的示例代码如下:
const picker = new Windows.Storage.Pickers.FolderPicker();
picker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.downloads;
picker.fileTypeFilter.append("*");
picker.pickSingleFolderAsync().then(function (folder) {
    if (folder) {
        // 可直接对folder对象执行读写、创建文件等操作
        Windows.Storage.FileIO.writeTextAsync(folder.createFileAsync("test.txt"), "测试内容");
    }
});

问题2:官方说明中提到的"本应用创建的用户下载目录文件夹"具体位置在哪里?是不是下载目录下的子文件夹?是否需要主动创建?若需要,是否可以通过Javascript创建?

  • 该文件夹是系统默认下载目录下的子文件夹,文件夹名称默认和你的UWP应用在清单中配置的显示名称完全一致。
  • 你可以选择主动创建,也可以等首次写入文件时由系统自动生成。
  • 可以通过JavaScript直接创建,调用Windows.Storage.DownloadsFolder.createFolderAsync("自定义文件夹名")方法即可,创建完成后该文件夹内的所有内容应用默认拥有全量读写权限,无需用户授权。

问题3:是否是我遗漏了应用清单中的某项权限?如果是,对应的权限是哪一项?

  • 如果你仅使用文件选择器获取权限,或者仅访问下载目录内本应用创建的内容,不需要额外添加任何权限,默认的Internet (Client)权限足够。
  • 如果你需要无需用户选择、直接访问用户的文档库、图片库、音乐库等系统库路径,需要在应用清单的「功能」标签页勾选对应的库访问权限。
  • 如果你需要无需用户选择、直接访问整个本地文件系统的任意路径,需要在应用清单的源代码视图中添加如下权限声明:
    <Capabilities>
      <uap:Capability Name="broadFileSystemAccess" />
    </Capabilities>
    
    配置完成后还需要用户手动在系统「设置-应用和功能-找到你的应用-高级选项」中开启「文件系统」访问权限,该权限才会生效。

内容的提问来源于stack exchange,提问作者Steve Brooker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 05:06:04