Загрузка данных


from flask import send_file, render_template

# 1. Маршрут, который отдает сам файл (бинарные данные)
@app.route('/raw_file/<int:file_id>')
def raw_file(file_id):
    file_data = File.query.get_or_404(file_id)
    file_path = os.path.join(app.config['UPLOAD_FOLDER'], file_data.storage_path)
    
    return send_file(
        file_path,
        mimetype='application/pdf',
        as_attachment=False  # КРИТИЧНО: говорит браузеру открыть, а не скачать
    )

# 2. Маршрут, который открывает страницу предпросмотра
@app.route('/preview/<int:file_id>')
def preview_pdf(file_id):
    file_data = File.query.get_or_404(file_id)
    return render_template('preview.html', file=file_data)