Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -567,7 +567,39 @@ def set_res():
|
|
| 567 |
|
| 568 |
|
| 569 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 570 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 571 |
|
| 572 |
|
| 573 |
|
|
|
|
| 567 |
|
| 568 |
|
| 569 |
|
| 570 |
+
@app.route('/upload', methods=['POST'])
|
| 571 |
+
def upload_file():
|
| 572 |
+
# Получаем ключ авторизации из запроса
|
| 573 |
+
api_sys_control = request.form.get('api_key_sys')
|
| 574 |
|
| 575 |
+
# Проверка ключа авторизации
|
| 576 |
+
if api_sys_control != api_key_sys:
|
| 577 |
+
return jsonify({"error": "Unauthorized access"}), 403
|
| 578 |
+
|
| 579 |
+
# Проверяем, что файл был отправлен
|
| 580 |
+
if 'file' not in request.files:
|
| 581 |
+
return jsonify({"error": "No file part"}), 400
|
| 582 |
+
|
| 583 |
+
file = request.files['file']
|
| 584 |
+
|
| 585 |
+
# Если пользователь не выбрал файл, браузер может отправить пустой файл без имени
|
| 586 |
+
if file.filename == '':
|
| 587 |
+
return jsonify({"error": "No selected file"}), 400
|
| 588 |
+
|
| 589 |
+
# Генерация уникального имени файла
|
| 590 |
+
unique_filename = str(uuid.uuid4()) + os.path.splitext(file.filename)[1]
|
| 591 |
+
save_path = os.path.join(UPLOAD_FOLDER, unique_filename)
|
| 592 |
+
file.save(save_path)
|
| 593 |
+
|
| 594 |
+
# Возвращаем полный URL загруженного файла с протоколом https
|
| 595 |
+
full_url = request.url_root.replace('http://', 'https://') + 'uploads/' + unique_filename
|
| 596 |
+
return jsonify({"message": "File uploaded successfully", "url": full_url}), 200
|
| 597 |
+
|
| 598 |
+
|
| 599 |
+
|
| 600 |
+
@app.route('/uploads/<filename>', methods=['GET'])
|
| 601 |
+
def uploaded_file(filename):
|
| 602 |
+
return send_from_directory(UPLOAD_FOLDER, filename)
|
| 603 |
|
| 604 |
|
| 605 |
|