A Simple File Opener Plugin for Cordova
This plugin will open a file on your device file system with its default application.
Installation
$ cordova plugin add cordova-plugin-simple-file-opener
Requirements
The following platforms and versions are supported by the latest release:
- Android 5.1+ / iOS 9+ / Windows / Electron
- Cordova CLI 7.0 or higher
fileOpener2.open(filePath, mimeType, options)
Opens a file
Supported Platforms
- Android 5.1+
- iOS 9+
- Windows
- Electron
Quick Examples
Open a PDF document with the default PDF reader and optional callback object:
try {
cordova.plugins.fileOpener2.open(
"/Download/starwars.pdf",
// You can also use a Cordova-style file uri: cdvfile://localhost/persistent/Downloads/starwars.pdf
"application/pdf"
);
console.log("File opened successfully");
} catch (e) {
console.log("Error status: " + e.status + " - Error message: " + e.message);
}
Note on Electron: Do not forget to enable Node.js in your app by adding "nodeIntegration": true
to platforms/electron/platform_www/cdv-electron-settings.json
file, See Cordova-Electron documentation.
fileOpener2.showOpenWithDialog(filePath, mimeType, options)
Opens with system modal to open file with an already installed app.
Supported Platforms
- Android 5.1+
- iOS 9+
Quick Example
cordova.plugins.fileOpener2.showOpenWithDialog(
"/Downloads/starwars.pdf", // You can also use a Cordova-style file uri: cdvfile://localhost/persistent/Downloads/starwars.pdf
"application/pdf",
{
error: function (e) {
console.log(
"Error status: " + e.status + " - Error message: " + e.message
);
},
success: function () {
console.log("file opened successfully");
},
position: [0, 0],
}
);
position
array of coordinates from top-left device screen, use for iOS dialog positioning.
fileOpener2.appIsInstalled(packageId, callbackContext)
Check if an app is already installed.
Supported Platforms
- Android 5.1+
Quick Example
cordova.plugins.fileOpener2.appIsInstalled("com.adobe.reader", {
success: function (res) {
if (res.status === 0) {
console.log("Adobe Reader is not installed.");
} else {
console.log("Adobe Reader is installed.");
}
},
});
Notes
-
For properly opening any file, you must already have a suitable reader for that particular file type installed on your device. Otherwise this will not work.
-
It is reported that in iOS, you might need to remove
<preference name="iosPersistentFileLocation" value="Library" />
from yourconfig.xml
-
If you are wondering what MIME-type should you pass as the second argument to
open
function, here is a list of all known MIME-types