소스 검색

examples: update `server.py` (#4732)

codehero7386 1 년 전
부모
커밋
8115538bc7
1개의 변경된 파일19개의 추가작업 그리고 18개의 파일을 삭제
  1. 19 18
      examples/python-xhr/server.py

+ 19 - 18
examples/python-xhr/server.py

@@ -5,32 +5,33 @@ from werkzeug.utils import secure_filename
 from flask_cors import CORS
 
 UPLOAD_FOLDER = 'uploads'
-ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'])
+ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'}
 
 app = Flask(__name__)
 app.config['UPLOAD_FOLDER'] = os.path.join(os.path.dirname(__file__), UPLOAD_FOLDER)
 CORS(app)
 
 def allowed_file(filename):
-    return '.' in filename and \
-           filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
+    return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
 
 @app.route('/upload', methods=['POST'])
 def upload_file():
     if request.method == 'POST':
-        # check if the post request has the file part
-        print (request.files)
-        if len(request.files) == 0:
-          return jsonify(
-              error="No file n request"
-            ), 400
-        for fi in request.files:            
-          file = request.files[fi]
-          if file and allowed_file(file.filename):
-              filename = secure_filename(file.filename)
-              file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
-              return jsonify(
-                message="ok"
-              ), 201
+        uploaded_files = request.files.getlist('file')
+        if not uploaded_files:
+            return jsonify(error="No files in the request"), 400
+        
+        uploaded_filenames = []
+        for file in uploaded_files:
+            if file and allowed_file(file.filename):
+                filename = secure_filename(file.filename)
+                file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
+                uploaded_filenames.append(filename)
+        
+        if uploaded_filenames:
+            return jsonify(message="Files uploaded successfully", uploaded_files=uploaded_filenames), 201
+        else:
+            return jsonify(error="No valid files uploaded"), 400
+
 if __name__ == '__main__':
-   app.run(port=3020)
+    app.run(port=3020)