NativeScript-Filepicker
NativeScript 文件选择插件。
npm i --save nativescript-plugin-filepicker

NativeScript-Filepicker

支持单选和复选的文件选择插件。对于 Android,它使用 Intent 打开默认的文件选择器。对于 Android 6 (API 23) 及以上版本,需要明确请求读取文件存储的权限。请参阅示例了解实现细节。

对于 iOS,它使用 UIDocumentPickerViewController 进行文件选择。

安装

tns plugin add nativescript-plugin-filepicker

使用

singlemultiple 模式下创建 filepicker,以指定 filepicker 用于单选还是多选文件

TypeScript

let context = filepicker.create({
mode: "single", // use "multiple" for multiple selection
extensions: ["pdf", "jpg", "doc", "docx"]
});

Javascript

var context = filepicker.create({ mode: "single" }); // use "multiple" for multiple selection

请求权限,显示文件列表并处理选择

context
.authorize()
.then(function() {
return context.present();
})
.then(function(selection) {
selection.forEach(function(selected) {
// process the selected file
});
}).catch(function (e) {
// process error
});

注意:为了请求 Android 6+ (API 23+) 的权限,我们使用 nativescript-permissions

API

方法

  • create(options) - 创建 filepicker 的实例。可能选项有
选项 平台 默认值 描述
mode both multiple filepicker 的模式。可能的值为 single 表示单选,multiple 表示多选。
extensions both 对于 iOS,是 public.item 和 null (所有文件) 对于 Android 选择是否在数组中指定文件扩展名。例如:["pdf", "doc"]
showAdvanced Android false 在 Android 上显示内部和可移除存储选项(警告:未官方支持)。

hostView 参数可以设置为托管文件选择器的视图。仅适用于 iOS,用于从模态页面打开选择器时。

  • authorize() - 请求所需的权限。
  • present() - 显示文件选择器,让用户选择文件。返回所选文件的数组。

示例

对于示例,请使用示例 demo-angular 项目。

$ cd demo-angular
$ tns debug android/ios

贡献

我们欢迎 PRs!查看 贡献指南。如果您想贡献,但不确定从哪里开始 - 查找标记为 help wanted问题

鸣谢

许可

Apache 许可证版本 2.0,2004 年 1 月