Я использую следующий код для отправки изображения на api, который обрабатывает изображения:
import requests
addr = 'http://127.0.0.1:5000'
url = addr + '/api/test'
# prepare headers for http request
content_type = 'image/jpeg'
headers = {'content-type': content_type}
def post_image(img_file):
img = open(img_file, 'rb').read()
response = requests.get(url, data = img, headers=headers)
print(response.text)
post_image("124430597.jpg")
Это работает отлично ... Я получаю желаемый результат. Тем не менее, я хочу отправить вместе с двоичным изображением, размером с изображение. Я пробовал следующее:
response = requests.get(url, data={"image": img, "width": 16.5, "height": 20.5}, headers=headers)
Я понимаю, что Content-type определен как image/jpeg, а data - json ..... не уверен, как это сделать. [F6] настроен следующим образом:
@app.route('/api/test', methods=['POST','GET'])
def test():
r = request
# convert string of image data to uint8
nparr = np.fromstring(r.image, np.uint8)
# decode image
img = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
w = 16.5
h = 20.5
Я также попытался установить тип содержимого как octet-stream.