Мне нужно отправить фотографию почтальоном на этот flask API, чтобы сделать ocr на нем, но всегда получаю ошибки, когда я отправляю почтовый запрос, когда я отправляю запрос на получение, он работает хорошо
import pytesseract
from PIL import Image
pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'
from skimage import io
import numpy as np
from skimage.filters import threshold_otsu
from skimage.morphology import closing, square
import os
from flask import Flask, flash, request, redirect , url_for ,render_template
from werkzeug.utils import secure_filename
from cv2 import cv2
import re
UPLOAD_FOLDER = "C:\inetpub\wwwroot\ocr"
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif'}
app.secret_key = b'_5#y5L"F4Q8z\n\xec]/'
@app.route('/bar',methods=['GET', 'POST'])
def bar():
if request.method == 'POST':
# check if the post request has the file part
if 'file' not in request.files:
flash('No file part')
return ('nothing')#redirect(request.url)
file = request.files.get('file')
#file = request.files.get['file']
# if user does not select file, browser also
# submit an empty part without filename
if file.filename == '':
flash('No selected file')
return ('no file name')
elif file and allowed_file(file.filename):
filename = secure_filename(file.filename)
filepath = os.path.join(app.config['UPLOAD_FOLDER'], filename)
file.save(filepath)
img = io.imread(filepath, as_gray = True)
#img = cv2.imread(filepath)
result = ocr(img)
#file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
#filepath = (os.path.join(app.config['imgdir'], filename))
return (result)
#return ('okkkk')
return ('hello')
if __name__ == '__main__':
app.run(host='0.0.0.0',port=9010)
всегда возвращаю 'ничто', даже если я отправил фотографию почтальоном, и когда я удаляю, если 'файл' не в
request.files:
flash('No file part')
return 'nothing'
я получаю сообщение об ошибке почтальона (500 внутренняя ошибка сервера), я думаю, что проблема в файле ( фото) не получено от почтальона на flask или, может быть, фото не принимается? у любого есть решение .. спасибо и это web.config:
<configuration>
<system.webServer>
<handlers>
<add name="FlaskHandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Python\python.exe|C:\inetpub\wwwroot\ocr\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
<add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Python\python.exe|C:\inetpub\wwwroot\ocr\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
</handlers>
<httpErrors errorMode="Detailed" />
</system.webServer>
<appSettings>
<!-- Required settings -->
<add key="WSGI_HANDLER" value="app.app" />
<add key="PYTHONPATH" value="C:\inetpub\wwwroot\ocr" />
</appSettings>
</configuration>