Я хочу вернуть изображение из приложения Chalice / python. Весь мой код приложения вставлен ниже:
from chalice import Chalice, Response
import base64
app = Chalice(app_name='hello')
@app.route('/makeImage', methods=['GET'])
def makeImage():
return Response(
base64.b64decode(
"iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="
),
headers={
'Content-Type': 'image/jpeg'
},
status_code=200)
Результат ...
{"Код": "BadRequest", "Сообщение": "В запросе не указано принятие
заголовок с изображением / JPEG, ответ имеет тип содержимого изображения / JPEG.
Если ответ имеет двоичный тип содержимого, то в запросе должно быть указано
соответствующий заголовок Accept. "}
Почему это происходит?
Я уже просмотрел тонну документации, и большая ее часть устарела, поскольку бинарная поддержка была добавлена в Chalice совсем недавно:
Просто в целях устранения неполадок я могу получить ответ с помощью curl -H "accept: image/jpeg"
, но это бесполезно, поскольку браузеры не работают таким образом, и мне нужно использовать ответ в браузере (HTML IMG TAG).
UPDATE
Я тоже пробовал @app.route('/makeImage', methods=['GET'], content_types=['image/jpeg'])
И результат стал {"Code":"UnsupportedMediaType","Message":"Unsupported media type: application/json"}