Search...
createFolder( )
Creates a new folder in the Media Manager.
Description
The createFolder()
function returns a Promise that resolves to the created folder.
Use the parentFolderId
parameter to specify in which existing folder you want the new folder to be created.
If no folder is specified, the new folder is created in the media-root
folder.
Admin Method
This function requires elevated permissions to run. This function is not universal and runs only on the backend.
Syntax
function createFolder(displayName: string, options: CreateFolderOptions): Promise<CreateFolderResponse>
createFolder Parameters
NAME
TYPE
DESCRIPTION
displayName
string
Folder name that appears in the Media Manager.
options
Optional
CreateFolderOptions
Options for specifying where to create a folder.
Returns
Return Type:
Promise<
CreateFolderResponse
>NAME
TYPE
DESCRIPTION
folder
Folder
Information about the newly created folder.
Was this helpful?
Create a folder (dashboard page code)
Copy Code
1import { folders } from 'wix-media.v2';23/* Sample displayName value: 'Vector Art'4 *5 * Sample options value:6 * {7 * parentFolderId: 'b2bc72834460412494c93617d88b8c89'8 * }9 */1011async function myCreateFolderFunction(displayName, options) {12 try {13 const newFolder = await folders.createFolder(displayName, options);1415 console.log('Created folder successfully:', newFolder);16 return newFolder;17 } catch (err){18 console.error(err);19 // Handle the error20 }21}2223/* Promise resolves to:24 * {25 * "folder": {26 * "_createdDate": "2023-08-14T08:05:03.000Z",27 * "_id": "128833f888ea4846bbfbe8f164f3c6b5",28 * "_updatedDate": "2023-08-14T08:05:03.000Z",29 * "displayName": "Vector Art",30 * "parentFolderId": "b2bc72834460412494c93617d88b8c89",31 * "state": "OK"32 * }33 * }34 */
Create a folder (export from backend code)
Copy Code
1import { Permissions, webMethod } from 'wix-web-module';2import { folders } from 'wix-media.v2';3import { elevate } from 'wix-auth';456/* Sample displayName value: 'Vector Art'7 *8 * Sample options value:9 * {10 * parentFolderId: 'b2bc72834460412494c93617d88b8c89'11 * }12 */1314export const myCreateFolderFunction = webMethod(Permissions.Anyone, async (displayName, options) => {15 try {16 const elevateCreateFolder = elevate(folders.createFolder);17 const newFolder = await elevateCreateFolder(displayName, options);1819 console.log('Created folder successfully:', newFolder);20 return newFolder;21 } catch (err){22 console.error(err);23 // Handle the error24 }25});2627/* Promise resolves to:28 * {29 * "folder": {30 * "_createdDate": "2023-08-14T08:05:03.000Z",31 * "_id": "128833f888ea4846bbfbe8f164f3c6b5",32 * "_updatedDate": "2023-08-14T08:05:03.000Z",33 * "displayName": "Vector Art",34 * "parentFolderId": "b2bc72834460412494c93617d88b8c89",35 * "state": "OK"36 * }37 * }38 */
Create a folder from visitor input
This code is an example of a page on which a visitor chooses a folder from a dropdown list, and then creates a folder within that folder.
Copy Code
1/***************************************2 * Backend code - create-folder.web.js *3 **************************************/45import { Permissions, webMethod } from 'wix-web-module';6import { folders } from 'wix-media.v2';7import { elevate } from 'wix-auth';89export const listFolders = webMethod(Permissions.Anyone, async () => {10 try {11 const elevatedListFolders = elevate(folders.listFolders)12 const foldersList = await elevatedListFolders();1314 return foldersList;15 } catch (error) {16 console.error(error);17 }18});1920export const createFolder = webMethod(Permissions.Anyone, async (displayName, options) => {21 try {22 const elevateCreateFolder = elevate(folders.createFolder);23 const newFolder = await elevateCreateFolder(displayName, options);2425 return newFolder;26 } catch (err){27 console.error(err);28 }29});3031/*************32 * Page code *33 ************/3435import { createFolder, listFolders } from 'backend/create-folder.web';3637$w.onReady(async () => {38 await populateFoldersDropdown();3940 $w('#createFolder').onClick(async () => {41 const folderName = $w('folderName').value;42 const createOptions = {parentFolderId: $w('foldersDropdown').value};43 const newFolder = await createFolder(folderName, createOptions);4445 console.log(`Successfully created new folder "${folderName}" in ${$w('#foldersDropdown').label}.`)46 $w('#createdFolderSuccessMsg').show();47 });48});4950async function populateFoldersDropdown() {51 const folders = await listFolders();52 const dropdownOptions = folders.map((folder) => {53 return {54 label: folder.displayName,55 value: folder._id56 };57 });5859 $w('#foldersDropdown').options = dropdownOptions;60};