Phone API Reference - Core - digium.readFile
Desk Phone API features described in this section are deprecated and supported only on the following models: D40, d45, d50, d60, d62, d65, d70
digium.readFile
Description
Reads the contents of a file as utf-8 and returns the contents as a string. The filename is relative to the location that is specified (this is a flat directory).
Basic Example:
digium.readFile(location, file); |
Parameters
Name | Required | Type | Default | Description |
---|---|---|---|---|
location | Yes | string |
| Read-only location parameters: app The app's own directory (so you can read files included in the app's zip file). Read and write location parameters: nv Non-volatile storage. Data stored here survives firmware updates. |
filename | Yes | string |
| Name of the file to act on. |
Examples
Using digium.readFile / digium.writeFile to store settings.
/* Here are two simple functions for working with JSON / and a JavaScript object to store some settings information. We use the readFile and writeFile method to store a string and use the native JSON JavaScript object to parse and stringify it. */
//settings object passed in, let's assume it looks like {"name" : "Bob", "location" : "USA"}
function saveSettings (settings) {
var settingsString = JSON.stringify(settings);
//write our settings in non-volatile storage so they are preserved.
digium.writeFile("nv", "my_app_settings.json", settingsString);
}
function readSettings () {
var settings = {};
// we wrap loading this file in a try catch because we are not sure if it exists yet or not.
// if it doesn't the app engine will throw an exception halting execution.
// this is also why we initialize the settings object above.
// If this errors we will return the empty object
try {
var settingsString = digium.readFile("nv", "my_app_settings.json");
settings = JSON.parse(settingsString);
} catch (error) {
util.debug("my_app_settings.json file does not exist yet");
}
//return our settings object
return settings;
} |