from flask import Flask, request, jsonify, send_from_directory, render_template_string import uuid import os import base64 from datetime import datetime app = Flask(__name__) app.config['UPLOAD_FOLDER'] = 'uploads' os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True) # Servizio file uploadati @app.route('/uploads/') def serve_uploaded_file(filename): try: return send_from_directory(app.config['UPLOAD_FOLDER'], filename) except FileNotFoundError: return "File not found", 404 @app.route('/') def home(): return render_template_string(''' StikkApp

Scegli origine immagine

Fotocamera
Galleria
Clipboard
''') @app.route('/upload', methods=['POST']) def upload_image(): try: # Estrai i dati base64 dall'URL (rimuovi il prefisso) image_data = request.json['image'].split(',')[1] binary_data = base64.b64decode(image_data) # Genera nome file univoco unique_id = uuid.uuid4().hex filename = f"{unique_id}.jpg" filepath = os.path.join(app.config['UPLOAD_FOLDER'], filename) # Salva il file with open(filepath, 'wb') as f: f.write(binary_data) return jsonify({ 'image_url': f'/uploads/{filename}', 'unique_id': unique_id }) except Exception as e: return jsonify({'error': str(e)}), 500 @app.route('/preview') def preview(): img_url = request.args.get('img', '') return render_template_string(''' Anteprima
''', img_url=img_url) @app.route('/analyze') def analyze(): img_url = request.args.get('img', '') return render_template_string(''' Analisi
''', img_url=img_url) @app.route('/search', methods=['POST']) def search(): data = request.json # Qui implementa la logica di ricerca return jsonify({ 'result': 'success', 'data': data }) if __name__ == '__main__': app.run(host='0.0.0.0', port=7860, debug=True)