Spaces:
Sleeping
Sleeping
| from flask import Flask, request, jsonify | |
| from flask_cors import CORS | |
| import os | |
| from werkzeug.utils import secure_filename | |
| from utils import predict_image | |
| app = Flask(__name__) | |
| CORS(app) # Allow cross-origin (Next.js ke Flask) | |
| UPLOAD_FOLDER = "/tmp/uploads" | |
| os.makedirs(UPLOAD_FOLDER, exist_ok=True) | |
| def home(): | |
| return jsonify({ | |
| "status": "API is running", | |
| "message": "Use POST /predict to classify batik" | |
| }) | |
| def predict(): | |
| if 'file' not in request.files: | |
| return jsonify({'error': 'No file uploaded'}), 400 | |
| file = request.files['file'] | |
| filename = secure_filename(file.filename) | |
| filepath = os.path.join(UPLOAD_FOLDER, filename) | |
| file.save(filepath) | |
| result = predict_image(filepath) | |
| return jsonify(result) | |
| if __name__ == '__main__': | |
| app.run(host="0.0.0.0", port=7860) | |