Cześć. Stawiam Api w flask, które ma za zadanie odebrać URI obrazu w formacie data:image/jpeg;base64
, następnie przekonwertować go tak, żeby mogło go odczytać cv2 i przetworzyć. Jednak utknąłem w martwym punkcie. Mianowicie mam kod:
app = Flask(__name__)
@app.route('/api/test', methods=['POST'])
def test():
request_image_data = request.data
resp = urllib.request.urlopen(request_image_data)
image = np.asarray(bytearray(resp.read()), dtype="uint8")
image = cv2.imdecode(image, cv2.IMREAD_COLOR)
return 'OK'
app.run()
i kiedy z PostMan-a wysyłam POST na odpowiedni adres, w postmanie pokazuje się 500 Internal Server Error, a w konsoli:
[2022-10-15 12:06:29,761] ERROR in app: Exception on /api/test [POST]
Traceback (most recent call last):
File "C:\Users\Victor\AppData\Local\Programs\Python\Python310\lib\site-packages\flask\app.py", line 2525, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\Victor\AppData\Local\Programs\Python\Python310\lib\site-packages\flask\app.py", line 1822, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\Victor\AppData\Local\Programs\Python\Python310\lib\site-packages\flask\app.py", line 1820, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\Victor\AppData\Local\Programs\Python\Python310\lib\site-packages\flask\app.py", line 1796, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
File "c:\Users\Victor\Desktop\face\server\server.py", line 15, in test
resp = urllib.request.urlopen(request_image_data.decode('ASCII'))
File "C:\Users\Victor\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 216, in urlopen
return opener.open(url, data, timeout)
File "C:\Users\Victor\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 519, in open
response = self._open(req, data)
File "C:\Users\Victor\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 541, in _open
return self._call_chain(self.handle_open, 'unknown',
File "C:\Users\Victor\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 496, in _call_chain
result = func(*args)
File "C:\Users\Victor\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 1419, in unknown_open
raise URLError('unknown url type: %s' % type)
urllib.error.URLError: <urlopen error unknown url type: {
"data">
127.0.0.1 - - [15/Oct/2022 12:06:29] "POST /api/test HTTP/1.1" 500 -
Nie mam pojęcia jak sobie z tym poradzić.