Apache2 не отвечает, когда изображения большого размера были опубликованы с помощью Python Flask - PullRequest
0 голосов
/ 07 сентября 2018

Я создал RESTful-сервис для POST-образа и получаю URL-адрес изображения через json. Я использовал Python Flask для создания сервиса RESTful. Проблема в том, что когда я POST-изображения меньшего размера, я получаю ответ от сервера в виде JSON, но когда я публикую большие изображения (размер: 300 КБ-1 МБ, формат: png), он продолжает загружаться, как показано ниже.

enter image description here

Вот код, который я написал для отправки изображения и получения ответа как json

import os
import cv2
import numpy as np
import time
import imutils
import json
import logging as log
from flask import Flask, flash, request, redirect, url_for, jsonify, send_from_directory
from sklearn.cluster import KMeans
from werkzeug.utils import secure_filename

UPLOAD_FOLDER = '/var/www/ImageProcessingPythonProject/ImageProcessingPythonProject/uploads/'
ALLOWED_EXTENSIONS = set(['png', 'jpg', 'jpeg'])

app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER

def allowed_file(filename):
    return '.' in filename and \
           filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS

@app.route('/upload_2', methods=['GET', 'POST'])
def upload_file_2():
    if request.method == 'POST':
        # check if the post request has the file part
        if 'file' not in request.files:
            print('no file')
            return redirect(request.url)
        file = request.files['file']
        # if user does not select file, browser also
        # submit a empty part without filename
        if file.filename == '':
            print('no filename')
            return redirect(request.url)
        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            colours_array = process_image(filename)
            image_url = url_for('uploaded_file', filename=filename)
            print("url : "+str(image_url))
            #return redirect(image_url)
            return jsonify({'image_name':str(image_url)})
    return '''
    <!doctype html>
    <title>Upload new File</title>
    <h1>Upload new File</h1>
    <form action="" method=post enctype=multipart/form-data>
      <p><input type=file name=file>
         <input type=submit value=Upload>
    </form>
    '''

if __name__ == "__main__":
    app.run()

Как устранить эту ошибку, чтобы быстро получить ответ json для изображений большего размера?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...