Window: showSaveFilePicker() method
The showSaveFilePicker() method of the Window interface shows a file picker that allows a user to save a file. Either by selecting an existing file, or entering a name for a new file.
Syntax
Parameters
options Optional
-
An object containing options, which are as follows:
excludeAcceptAllOption Optional
-
A boolean value that defaults to false. By default, the picker should include an option to not apply any file type filters (instigated with the type option below). Setting this option to true means that option is not available.
id Optional
-
By specifying an ID, the browser can remember different directories for different IDs. If the same ID is used for another picker, the picker opens in the same directory.
startIn Optional
-
A FileSystemHandle or a well known directory ("desktop", "documents", "downloads", "music", "pictures", or "videos") to open the dialog in.
suggestedName Optional
-
A String. The suggested file name.
types Optional
-
An Array of allowed file types to save. Each item is an object with the following options:
description Optional
-
An optional description of the category of files types allowed. Default to be an empty string.
-
accept
-
An Object with the keys set to the MIME type and the values an Array of file extensions (see below for an example).
Return value
A Promise whose fulfillment handler receives a FileSystemFileHandle object.
Exceptions
AbortError DOMException
-
Thrown if the user dismisses the file picker without selecting or inputting a file, or if the user agent deems any selected files too sensitive or dangerous.
SecurityError DOMException
-
Thrown if the call was blocked by the same-origin policy or it was not called via a user interaction such as a button press.
Security
Transient user activation is required. The user has to interact with the page or a UI element in order for this feature to work.
Examples
The following function shows a file picker, with text files highlighted for selection.
async function getNewFileHandle() {
const opts = {
types: [
{
description: "Text file",
accept: { "text/plain": [".txt"] },
},
],
};
return await window.showSaveFilePicker(opts);
}
Specifications
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
showSaveFilePicker |
86 |
86 |
No |
No |
72 |
No |
No |
No |
No |
No |
No |
No |
See also