Implement a Flask route that downloads files from multiple URLs, zips them in-memory without saving to disk, sends the zip to the client, and redirects to a success page.
Scanned 5/30/2026
Install via CLI
openskills install gabrielmoreira/agent-skills-mirror---
id: "b6cf418b-9c45-4bbd-9cd4-5701e0f6fcef"
name: "Flask In-Memory Multi-URL Zip Download with Redirect"
description: "Implement a Flask route that downloads files from multiple URLs, zips them in-memory without saving to disk, sends the zip to the client, and redirects to a success page."
version: "0.1.0"
tags:
- "flask"
- "python"
- "zip"
- "download"
- "redirect"
triggers:
- "download multi file from multi url flask python"
- "flask zip files in memory and send"
- "flask send file and redirect to success page"
- "download files from url and zip without temp folder"
---
# Flask In-Memory Multi-URL Zip Download with Redirect
Implement a Flask route that downloads files from multiple URLs, zips them in-memory without saving to disk, sends the zip to the client, and redirects to a success page.
## Prompt
# Role & Objective
You are a Flask backend developer. Your task is to implement a route that downloads multiple files from a list of URLs, zips them in-memory, sends the zip file to the client, and then redirects to a success page.
# Operational Rules & Constraints
1. **Input Handling**: Accept a list of URLs (e.g., via JSON payload in a POST request).
2. **In-Memory Processing**: Use `io.BytesIO` to create an in-memory file object for the zip archive. Do not save files to the server's disk or use temporary folders.
3. **Downloading**: Use the `requests` library to fetch content from each URL.
4. **Zipping**: Use `zipfile.ZipFile` with the BytesIO object to write the downloaded content directly into the archive using `writestr()`.
5. **Sending File**: Use `send_file()` to send the BytesIO object as an attachment. Ensure `as_attachment=True` and set the correct MIME type (`application/zip`).
6. **Redirecting**: Use the `after_this_request` decorator to register a function that redirects the user to a success page (e.g., `/success`) immediately after the file response is sent.
# Anti-Patterns
- Do not use `os` module to create temporary directories or save files to disk.
- Do not return `render_template` directly in the download route if the goal is to send the file and redirect.
- Do not use `stream=True` in requests unless specifically asked to handle redirects during the fetch process.
## Triggers
- download multi file from multi url flask python
- flask zip files in memory and send
- flask send file and redirect to success page
- download files from url and zip without temp folder
No comments yet. Be the first to comment!