Skip to content

File Browser API

The File Browser API provides a way to let users browse and select files or folders within Acode.

Import

js
const fileBrowser = acode.require('fileBrowser');

Parameters

ParameterTypeDescriptionDefault
mode'file' | 'folder' | 'both'The file browser mode'file'
infostringMessage shown to user explaining purpose-
doesOpenLastbooleanOpen last visited directorytrue
defaultDirArray<{name: string, url: string}>Default directory to open-

Return Value

Returns a Promise that resolves to a SelectedFile object:

typescript
interface SelectedFile {
		type: 'file' | 'folder';  // Type of selected item
		url: string;              // Full path/URL
		name: string;            // File/folder name
}

Examples

Basic File Selection

js
// Open file browser to select a file
const fileBrowser = acode.require('fileBrowser');

try {
		const result = await fileBrowser('file', 'Please select a configuration file');
		console.log(`Selected file: ${result.name}`);
		console.log(`File path: ${result.url}`);
} catch (err) {
		console.error('File selection was cancelled');
}

Folder Selection with Default Directory

js
// Open folder browser with default directory
const fileBrowser = acode.require('fileBrowser');

const defaultDir = [{
		name: 'Documents',
		url: '/storage/emulated/0/Documents'
}];

try {
		const result = await fileBrowser('folder', 'Select project folder', true, defaultDir);
		if (result.type === 'folder') {
				console.log(`Selected folder: ${result.name}`);
		}
} catch (err) {
		console.error('Folder selection was cancelled');
}

Allow Both File and Folder Selection

js
// Allow selecting either files or folders
const fileBrowser = acode.require('fileBrowser');

try {
		const result = await fileBrowser('both', 'Select file or folder');
		if (result.type === 'file') {
				console.log('File selected:', result.name);
		} else {
				console.log('Folder selected:', result.name);
		}
} catch (err) {
		console.error('Selection was cancelled');
}

Error Handling

The File Browser promise will reject if:

  • User cancels the selection
  • File/folder access is denied
  • Selected item cannot be opened

TIP

Always wrap File Browser calls in try/catch blocks for proper error handling.

Released under the MIT License.