
Zip File Compress & Download Pro
$27.00 or $10.00/moZip File Compress & Download Pro is a cutting-edge plugin designed exclusively for Bubble, revolutionizing the way users handle file compression and downloads. This plugin empowers users to create and download Zip files effortlessly, eliminating the need for complex coding or technical expertise.
Setup Instructions
Zip File Compress & Download Pro – Setup Instructions
Plugin Overview
The Zip File Compress & Download Pro plugin lets you create ZIP archives on‑the‑fly and deliver them to your users without writing any server‑side code. It supports a single‑action ZIP generation, real‑time progress reporting, optional encryption, and flexible download options.
1. Installation
- Open your Bubble app editor.
- Click Plugins → Add plugins.
- Search for “Zip File Compress & Download Pro”.
- Click Install. The plugin will be added to the Installed plugins list and its elements will become available in the visual editor.
Tip: After installation, refresh the editor to ensure the new element appears in the element palette.
2. Adding the ZipElement to a Page
| Step | Action | Details |
|---|---|---|
| 1 | Drag the element | In the left‑hand element tree, locate ZipElement (under the Visual Elements category) and drag it onto the page where you need the ZIP functionality. |
| 2 | Position & hide | The element does not need to be visible to users. You can place it anywhere on the page and set its visibility to “This element is not visible on page load” if you prefer a clean UI. |
| 3 | Set element ID (optional) | Give the element a unique ID (e.g., zip_generator) for easier reference in workflows or custom JavaScript. |
3. Configuring the ZipElement
| Property | Description | Recommended Setting |
|---|---|---|
| File Encryption | Enables AES‑256 encryption of the archive. | Off unless you need protected downloads. |
| Auto‑download | If Yes, the ZIP is served immediately after creation. If No, the file is stored in your app’s file manager and you can handle it later (e.g., save to the database). | Yes for simple “download now” flows; No if you need to keep the file. |
| Default ZIP name | Base name for the generated archive (the plugin will append .zip). | my_archive (or any name you prefer). |
4. Workflow – Generating a ZIP File
Below is a typical “one‑click download” workflow.
- Add a button (or any clickable element) that will trigger the ZIP creation.
- Open the Workflow tab → When Button X is clicked.
4.1. Use the “Download Zip” Action
| Action | Where to find it | Parameters |
|---|---|---|
| Download Zip | Plugins → Zip File Compress & Download Pro → Download Zip (provided by the ZipElement) | 1. Zip file name – text field (e.g., Invoice_2024_Q1). <br>2. List of files – a list of File objects (can be Dynamic Data from a Repeating Group, a Search, or a custom list). <br>3. Auto‑download? – Yes / No (overrides the element setting). |
Example configuration
Zip file name: "Report_" + Current date/time :formatted as YYYYMMDD
List of files: Search for Files (type = File) filtered by …
Auto‑download?: Yes
4.2. Optional – Save the ZIP to the Database
If you set Auto‑download = No, the ZIP will be stored in your app’s file manager. To keep a reference in your data:
- Add an event When Zip File is Ready (see section 5).
- In that event, create or modify a thing (e.g., Generated_Zip) and set its File field to ZipElement's Zip file (the exposed state).
5. Events & Exposed States
| Event | When it fires | Typical use |
|---|---|---|
| Zip File is Ready | After the ZIP archive has been created (whether auto‑download or stored). | Save the file to the database, send a notification, or update UI. |
| Zip Generation Failed (if available) | If the plugin encounters an error while compressing. | Show an error message to the user. |
5.1. Exposed States (read‑only)
| State | Type | Description |
|---|---|---|
| Zip file | File | The generated ZIP file (available after the Zip File is Ready event). |
| Progress | Number (0‑100) | Real‑time compression progress; useful for progress bars. |
| Is generating? | Yes/No | Indicates whether a ZIP operation is currently running. |
Example – Displaying progress
Element: Progress Bar
Data source: ZipElement's Progress
6. Full Step‑by‑Step Walkthrough
- Add the ZipElement to the page (hide it if desired).
- Place a button (e.g., “Download Report”).
- Create a workflow for the button:
- Action: Download Zip
- Fill in Zip file name, List of files, Auto‑download?.
- (Optional) Add the “Zip File is Ready” event:
- Action: Create a new thing → set the File field to ZipElement's Zip file.
- (Optional) Show progress: add a text element or progress bar bound to ZipElement's Progress.
- Test in preview mode: click the button, watch the progress indicator, and confirm that the ZIP downloads (or appears in the file manager).
7. Accessing the ZIP Directly (Advanced)
If you need the URL of the generated archive (e.g., to send in an email):
- After the Zip File is Ready event, use the ZipElement's Zip file state.
- Add an action Get public URL for a file (Bubble’s built‑in action) and store the URL in a custom state or a field.
8. Troubleshooting
| Issue | Possible Cause | Fix |
|---|---|---|
| No download prompt appears | Auto‑download set to No and you didn’t handle the file later. | Either set Auto‑download to Yes, or add the “Zip File is Ready” event to save or trigger a manual download. |
| Progress stays at 0% | The list of files is empty or not a File type. | Verify the list you pass contains actual Bubble File objects. |
| “Zip Generation Failed” error | File size exceeds the plugin’s limit or an unsupported file type. | Reduce total size, split into multiple archives, or ensure files are valid (e.g., images, PDFs). |
| Encrypted ZIP cannot be opened | Wrong encryption password (if you enabled encryption). | Ensure you set the same password when creating the ZIP and when users attempt to open it. |
| File not saved to database | You omitted the “Zip File is Ready” event or used the wrong state. | Add the event and set the DB field to ZipElement's Zip file. |
9. Frequently Asked Questions
Q: Can I compress more than 100 files at once?
A: Yes. The plugin streams files, but extremely large archives may take longer and could hit Bubble’s file size limits (≈ 2 GB). Consider splitting large batches.
Q: Is the ZIP created on the client or the server?
A: The compression runs on Bubble’s server infrastructure, so the user's device only receives the final archive.
Q: Do I need to enable any API keys?
A: No external services are required; the plugin works out‑of‑the‑box.
Q: How do I change the encryption algorithm?
A: The plugin currently offers only AES‑256 (enabled via the File Encryption toggle). Future updates may add more options.
10. References
- Demo Editor: https://plugins.datamaticsoftware.com/zip
- Live Example Page: https://bubble.io/page?type=page&name=zip&id=segongora-testing&tab=tabs-1
- Bubble File Manager docs: https://manual.bubble.io/working-with-data/files
End of Setup Instructions.
Documentation coming soon.