Search on blog:

Flask: Przykład jak wysłać plik zip ściągnięty z innej strony.

Przykład pokazuje jak z użycien BytesIO ściągnąć plik zip z innej strony i wysłać go do przeglądarki bez zapisywania na dysku.

from flask import Flask, send_file
import requests
import io

app = Flask(__name__)

@app.route('/')
def index():
    # pobranie pliku z innej strony
    response = requests.get('https://github.com/furas/mate-python-applets/archive/master.zip')

    # utworzenie pliku w pamięciu
    zip_content = io.BytesIO(response.content)

    # wysłanie do klienta - wymaga `as_attachment` jeśli ma mieć nazwę przypisaną z `attachment_filename`
    return send_file(zip_content, mimetype='application/zip', as_attachment=True, attachment_filename='archive.zip')

if __name__ == '__main__':
    app.run()
If you like it
Buy a Coffee