server.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/usr/bin/env python3
  2. import os
  3. from flask import Flask, request, jsonify
  4. from werkzeug.utils import secure_filename
  5. from flask_cors import CORS
  6. UPLOAD_FOLDER = 'uploads'
  7. ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'}
  8. app = Flask(__name__)
  9. app.config['UPLOAD_FOLDER'] = os.path.join(os.path.dirname(__file__), UPLOAD_FOLDER)
  10. CORS(app)
  11. def allowed_file(filename):
  12. return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
  13. @app.route('/upload', methods=['POST'])
  14. def upload_file():
  15. if request.method == 'POST':
  16. uploaded_files = request.files.getlist('file')
  17. if not uploaded_files:
  18. return jsonify(error="No files in the request"), 400
  19. uploaded_filenames = []
  20. for file in uploaded_files:
  21. if file and allowed_file(file.filename):
  22. filename = secure_filename(file.filename)
  23. file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
  24. uploaded_filenames.append(filename)
  25. if uploaded_filenames:
  26. return jsonify(message="Files uploaded successfully", uploaded_files=uploaded_filenames), 201
  27. else:
  28. return jsonify(error="No valid files uploaded"), 400
  29. if __name__ == '__main__':
  30. app.run(port=3020)