by prabu.d | v1.0.0
NativeScript filepicker plugin.
npm i --save nativescript-plugin-filepicker


Filepicker plugin supporting both single and multiple selection. For Android, it uses Intents to open the stock file pickers. For Android 6 (API 23) and above the permissions to read file storage should be explicitly required. See demo for implementation details.

For iOS, it uses stock UIDocumentPickerViewController for picking the file.


tns plugin add nativescript-plugin-filepicker


Create filepicker in single or multiple mode to specifiy if the filepicker will be used for single or multiple selection of files


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


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

Request permissions, show the file list and process the selection

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

NOTE: To request permissions for Android 6+ (API 23+) we use nativescript-permissions.



  • create(options) - creates instance of the filepicker. Possible options are:
Option Platform Default Description
mode both multiple The mode if the filepicker. Possible values are single for single selection and multiple for multiple selection.
extensions both For iOS public.item and null(all files) for Android Choose whether file extension in array. eg. ["pdf", "doc"]
showAdvanced Android false Show internal and removable storage options on Android (WARNING: not supported officially).

The hostView parameter can be set to the view that hosts the file picker. Applicable in iOS only, intended to be used when open picker from a modal page.

  • authorize() - request the required permissions.
  • present() - show the file picker to present the user the ability to select files. Returns an array of the selected files.


For demo use the sample demo-angular project.

$ cd demo-angular
$ tns debug android/ios


We love PRs! Check out the contributing guidelines. If you want to contribute, but you are not sure where to start - look for issues labeled help wanted.



Apache License Version 2.0, January 2004