Presents the device's native file picking ui and returns the selected file's uri.
npm i https://github.com/mantoshbehera2019/capacitor-file-picker.git
import { Plugins } from "@capacitor/core";
const { FilePicker } = Plugins;
FilePicker.showFilePicker({
fileTypes: ["image/*", "application/pdf"],
}).then(
(fileResult: FilePickerResult) => {
const fileUri = fileResult.uri;
const fileName = fileResult.name;
const fileMimeType = fileResult.mimeType;
const fileExtension = fileResult.extension;
const fileSize = fileResult.size;
const base64string = fileResult.base64String; // for image file
},
(error) => {
console.log(error);
}
);
Method | Default | Type | Description |
---|---|---|---|
showFilePicker(options: {fileTypes: string[], uploadType: string)}) // uploadType = "1"(to get base64 string with file path) or "2"- only file path | Promise<FilePickerResult> |
Presents the device's native file picking ui and returns the selected file's uri. |
FilePickerResult
Properties | Default | Type | Description |
---|---|---|---|
uri | string |
Uri string pointing to the selected file. | |
name | string |
The name of the selected file. | |
mimeType | string |
The MIME type of the selected file. | |
extension | string |
The extension of the selected file. | |
size | string |
The size of the selected file. | |
base64str | string |
The base64string for image file. |
Register the plugin by adding it to your MainActivity's onCreate:
import com.epicshaggy.filepicker.FilePicker;
public class MainActivity extends BridgeActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Initializes the Bridge
this.init(savedInstanceState, new ArrayList<Class<? extends Plugin>>() {{
// Additional plugins you've installed go here
// Ex: add(TotallyAwesomePlugin.class);
add(FilePicker.class);
}});
}
}
The file picker only accpets:
- application/pdf
- image/*
This is because it was developed to meet the need to meet a specific need, but feel free to contribute to the plugin's development. :)