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 |
|