NsIFilePicker
From MozillaZine Knowledge Base
This page is part of the extension development documentation project.
Ask your questions in MozillaZine Forums. Also try browsing example code.
Note: development documentation is in process of being moved to Mozilla Development Center (MDC).
The filepicker component is used to display standard "Open File"/"Save File"/"Select Folder" dialogs.
Example
Here's an example:
const nsIFilePicker = Components.interfaces.nsIFilePicker; var fp = Components.classes["@mozilla.org/filepicker;1"] .createInstance(nsIFilePicker); fp.init(window, "Dialog Title", nsIFilePicker.modeOpen); fp.appendFilters(nsIFilePicker.filterAll | nsIFilePicker.filterText); var rv = fp.show(); if (rv == nsIFilePicker.returnOK) { var file = fp.file; // work with returned nsILocalFile... }
If your code is a component and window
is not defined, you can get one using nsIWindowMediator.
Notes
- If you pass empty string as dialog title, the dialog will have default title
- When checking return value for Save dialog, be sure to check for nsIFilePicker.returnReplace too.
- Available modes: modeOpen, modeSave, modeGetFolder, modeOpenMultiple.
- Available filters: filterAll, filterHTML, filterText, filterImages, filterXML, filterXUL, filterApps.
- To start with a specific filter, use the filterIndex property
- Set the property displayDirectory to a nsiLocalFile to default to a given directory