Rooni commited on
Commit
7412af9
·
verified ·
1 Parent(s): 6c11ffb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -9
app.py CHANGED
@@ -2,6 +2,7 @@ from flask import Flask, request, jsonify, url_for, send_from_directory
2
  import os
3
  from datetime import datetime
4
  import logging
 
5
 
6
  app = Flask(__name__)
7
 
@@ -18,15 +19,13 @@ app.logger.addHandler(handler)
18
  # Главный маршрут, теперь принимающий POST-запросы
19
  @app.route('/', methods=['POST'])
20
  def process_image():
21
- if 'image' not in request.files:
22
- return jsonify({"error": "No image part in the request"}), 400
 
23
 
24
- file = request.files['image']
 
25
 
26
- if file.filename == '':
27
- return jsonify({"error": "No image selected for uploading"}), 400
28
-
29
- if file:
30
  try:
31
  # Генерируем уникальное имя файла для сохранения изображения
32
  timestamp = datetime.now().strftime("%Y%m%d%H%M%S")
@@ -34,7 +33,8 @@ def process_image():
34
  filepath = os.path.join(app.config['UPLOAD_FOLDER'], filename)
35
 
36
  # Сохраняем изображение
37
- file.save(filepath)
 
38
 
39
  # Генерируем URL для доступа к изображению
40
  image_url = url_for('uploaded_file', filename=filename, _external=True)
@@ -45,7 +45,7 @@ def process_image():
45
  app.logger.error(f'An error occurred: {e}')
46
  return jsonify({"error": "An error occurred while processing the image"}), 500
47
  else:
48
- return jsonify({"error": "Invalid image data"}), 400
49
 
50
  # Отдача статических файлов (изображений)
51
  @app.route('/static/images/<filename>')
 
2
  import os
3
  from datetime import datetime
4
  import logging
5
+ from io import BytesIO
6
 
7
  app = Flask(__name__)
8
 
 
19
  # Главный маршрут, теперь принимающий POST-запросы
20
  @app.route('/', methods=['POST'])
21
  def process_image():
22
+ data = request.json # Получаем JSON из запроса
23
+ if data and "image" in data:
24
+ image_data = data["image"]
25
 
26
+ # Преобразуем строку с двоичными данными в объект BytesIO
27
+ image_bytes_io = BytesIO(image_data.encode('utf-8'))
28
 
 
 
 
 
29
  try:
30
  # Генерируем уникальное имя файла для сохранения изображения
31
  timestamp = datetime.now().strftime("%Y%m%d%H%M%S")
 
33
  filepath = os.path.join(app.config['UPLOAD_FOLDER'], filename)
34
 
35
  # Сохраняем изображение
36
+ with open(filepath, 'wb') as f:
37
+ f.write(image_bytes_io.read())
38
 
39
  # Генерируем URL для доступа к изображению
40
  image_url = url_for('uploaded_file', filename=filename, _external=True)
 
45
  app.logger.error(f'An error occurred: {e}')
46
  return jsonify({"error": "An error occurred while processing the image"}), 500
47
  else:
48
+ return jsonify({"error": "No image data provided"}), 400
49
 
50
  # Отдача статических файлов (изображений)
51
  @app.route('/static/images/<filename>')