Socket
Socket
Sign inDemoInstall

cordova-plugin-save-dialog

Package Overview
Dependencies
0
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    cordova-plugin-save-dialog

Cordova plugin for opening the native Save dialog and storing a file in the user-selected location


Version published
Weekly downloads
325
increased by3.17%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

cordova-plugin-save-dialog

This Cordova plugin displays the native Save dialog which allows users to store a file in the selected location.

In Android, the plugin utilizes the Storage Access Framework to save a file in a user-selected location as described in the Android developer guide.

In iOS, the UIDocumentPickerViewController’s method initForExportingURLs:asCopy: is used for opening a document picker that can export a file to the selected folder. Note that this method is only available in iOS 14.0+, so older iOS versions are not supported by the plugin.

Installation

cordova plugin add cordova-plugin-save-dialog --save

API

The plugin’s functionality is accessible through the object cordova.plugins.saveDialog.

saveFile

Call this method to open the Save dialog and store raw contents in a file. The method accepts two arguments:

  • file contents as a Blob instance,
  • optional file name to display on default (the user may change it manually though).

The method returns a promise whose fulfillment value is a URI of the saved file in the user-selected location.

To construct a Blob representation for a file contents, either use the Blob constructor directly:

let blob = new Blob(["file contents"], {type: "text/plain"});
let fileName = "my-file.txt";
cordova.plugins.saveDialog.saveFile(blob, fileName).then(uri => {
  console.info("The file has been successfully saved to", uri);
}).catch(reason => {
  console.warn(reason);
});

or apply other methods of blob generation (such as Response.blob() for a network-fetched content):

try {
  let response = await fetch("https://httpbin.org/image/jpeg", {
    headers: {Accept: "image/jpeg"}
  });
  let blob = await response.blob();
  let uri = await cordova.plugins.saveDialog.saveFile(blob, "jackal.jpeg");
  console.info("The file has been successfully saved to", uri);
} catch (e) {
  console.error(e);
}

Do not try to use the returned URI for getting file access. It is provided for information purposes only. The user stores a file outside the application sandbox, so access to the saved resource is to be considered restricted.

Keywords

FAQs

Last updated on 22 Dec 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc