> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # Method name: createFolder(displayName: string, options: CreateFolderOptions) # Method package: wixMediaV2 # Method menu location: wixMediaV2 --> folders --> createFolder # Method Link: https://dev.wix.com/docs/velo/apis/wix-media-v2/folders/create-folder.md # Method Description: Creates a new folder in the Media Manager.
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. # Method Code Examples: *** Note: do not assume any prop names or enum values other than the ones in the example. ## Create a folder (dashboard page code) ```javascript import { folders } from 'wix-media.v2'; /* Sample displayName value: 'Vector Art' * * Sample options value: * { * parentFolderId: 'b2bc72834460412494c93617d88b8c89' * } */ async function myCreateFolderFunction(displayName, options) { try { const newFolder = await folders.createFolder(displayName, options); console.log('Created folder successfully:', newFolder); return newFolder; } catch (err){ console.error(err); // Handle the error } } /* Promise resolves to: * { * "folder": { * "_createdDate": "2023-08-14T08:05:03.000Z", * "_id": "128833f888ea4846bbfbe8f164f3c6b5", * "_updatedDate": "2023-08-14T08:05:03.000Z", * "displayName": "Vector Art", * "parentFolderId": "b2bc72834460412494c93617d88b8c89", * "state": "OK" * } * } */ ``` ## Create a folder (export from backend code) ```javascript import { Permissions, webMethod } from 'wix-web-module'; import { folders } from 'wix-media.v2'; import { elevate } from 'wix-auth'; /* Sample displayName value: 'Vector Art' * * Sample options value: * { * parentFolderId: 'b2bc72834460412494c93617d88b8c89' * } */ export const myCreateFolderFunction = webMethod(Permissions.Anyone, async (displayName, options) => { try { const elevateCreateFolder = elevate(folders.createFolder); const newFolder = await elevateCreateFolder(displayName, options); console.log('Created folder successfully:', newFolder); return newFolder; } catch (err){ console.error(err); // Handle the error } }); /* Promise resolves to: * { * "folder": { * "_createdDate": "2023-08-14T08:05:03.000Z", * "_id": "128833f888ea4846bbfbe8f164f3c6b5", * "_updatedDate": "2023-08-14T08:05:03.000Z", * "displayName": "Vector Art", * "parentFolderId": "b2bc72834460412494c93617d88b8c89", * "state": "OK" * } * } */ ``` ## Create a folder from visitor input ```javascript /*************************************** * Backend code - create-folder.web.js * **************************************/ import { Permissions, webMethod } from 'wix-web-module'; import { folders } from 'wix-media.v2'; import { elevate } from 'wix-auth'; export const listFolders = webMethod(Permissions.Anyone, async () => { try { const elevatedListFolders = elevate(folders.listFolders) const foldersList = await elevatedListFolders(); return foldersList; } catch (error) { console.error(error); } }); export const createFolder = webMethod(Permissions.Anyone, async (displayName, options) => { try { const elevateCreateFolder = elevate(folders.createFolder); const newFolder = await elevateCreateFolder(displayName, options); return newFolder; } catch (err){ console.error(err); } }); /************* * Page code * ************/ import { createFolder, listFolders } from 'backend/create-folder.web'; $w.onReady(async () => { await populateFoldersDropdown(); $w('#createFolder').onClick(async () => { const folderName = $w('folderName').value; const createOptions = {parentFolderId: $w('foldersDropdown').value}; const newFolder = await createFolder(folderName, createOptions); console.log(`Successfully created new folder "${folderName}" in ${$w('#foldersDropdown').label}.`) $w('#createdFolderSuccessMsg').show(); }); }); async function populateFoldersDropdown() { const folders = await listFolders(); const dropdownOptions = folders.map((folder) => { return { label: folder.displayName, value: folder._id }; }); $w('#foldersDropdown').options = dropdownOptions; }; ``` ---