Search...
generateFolderDownloadUrl( )
Generates a URL for downloading a compressed file containing a specific folder in the Media Manager.
Description
The generateFolderDownloadUrl()
function returns a Promise that resolves to a download URL.
The compressed file can contain sub-folders, and up to 1000 files.
Admin Method
This function requires elevated permissions to run. This function is not universal and runs only on the backend.
Syntax
function generateFolderDownloadUrl(folderId: string): Promise<GenerateFolderDownloadUrlResponse>
generateFolderDownloadUrl Parameters
NAME
TYPE
DESCRIPTION
folderId
string
Folder ID.
Returns
Return Type:
Promise<
GenerateFolderDownloadUrlResponse
>NAME
TYPE
DESCRIPTION
downloadUrl
string
URL for downloading a specific folder in the Media Manager.
Was this helpful?
Generate a folder download url (dashboard page code)
Copy Code
1import { folders } from 'wix-media.v2';23async function generateFolderDownloadUrl(folderId) {4 try {5 const result = await folders.generateFolderDownloadUrl(folderId);67 const folderDownloadUrl = result.downloadUrl;8 return folderDownloadUrl;9 } catch (error) {10 console.error(error);11 // Handle the error12 }13}1415/* Promise resolves to:16 * {17 * "downloadUrl": "https://archive.wixmp.com/archive/wix/b367fe21877e4ef589cde5352a3a04af"18 * }19 */
Generate a folder download url (export from backend code)
Copy Code
1import { Permissions, webMethod } from 'wix-web-module';2import { folders } from 'wix-media.v2';3import { elevate } from 'wix-auth';45export const generateFolderDownloadUrl = webMethod(Permissions.Anyone, async (folderId) => {6 try {7 const elevatedGenerateFolderDownloadUrl = elevate(folders.generateFolderDownloadUrl);8 const result = await elevatedGenerateFolderDownloadUrl(folderId);910 const folderDownloadUrl = result.downloadUrl;11 return folderDownloadUrl;12 } catch (error) {13 console.error(error);14 // Handle the error15 }16});1718/* Promise resolves to:19 * {20 * "downloadUrl": "https://archive.wixmp.com/archive/wix/b367fe21877e4ef589cde5352a3a04af"21 * }22 */23
Generate a folder download url for a chosen folder
This code is an example of a page on which a visitor chooses a folder from a dropdown list, and then receives a folder download url for that folder.
Copy Code
1/***************************************************2 * Backend code - generate-folder-download-url.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 generateDownloadUrl = webMethod(Permissions.Anyone, async (folderId) => {21 try {22 const elevatedGenerateFolderDownloadUrl = elevate(folders.generateFolderDownloadUrl);23 const result = await elevatedGenerateFolderDownloadUrl(folderId);2425 const folderDownloadUrl = result.downloadUrl;26 return folderDownloadUrl;27 } catch (error) {28 console.error(error);29 }30});3132/*************33 * Page code *34 ************/3536import { generateDownloadUrl, listFolders } from 'backend/generate-folder-download-url.web';3738$w.onReady(async () => {39 await populateFoldersDropdown();4041 $w('#downloadFolder').onClick(async () => {42 const folderId = $w('foldersDropdown').value;43 const downloadUrl = await generateDownloadUrl(folderId);4445 $w('#downloadFolderBtn').link = downloadUrl;46 $w('#downloadingFolderMsg').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};