Postman、Python和向web服务传递图像和元数据

2024-10-01 13:45:39 发布

您现在位置:Python中文网/ 问答频道 /正文

这是一个由两部分组成的问题:我看过个别文章的讨论,但似乎无法将推荐的建议结合起来。我想创建一个web服务来存储从调用方传递的图像及其元数据,并从Postman运行一个测试调用以确保它正常工作。因此,要通过邮递员将图像(Drew16.jpg)传递给web服务,我似乎需要这样的东西:

Postman Configuration

对于web服务,我有一些python/flask代码来读取请求(我尝试过的许多变体之一):

from flask import Flask, jsonify, request, render_template
from flask_restful import Resource, Api, reqparse

...

def post(self, name):
    request_data = request.get_json()
    userId = request_data['UserId']
    type = request_data['ImageType']
    image = request.files['Image']

数据部分和直接的JSON没有问题,但是添加图像是个麻烦。我的邮递员配置哪里出错了?从post读取元数据和文件的实际Python命令集是什么?TIA公司


Tags: 数据from图像importwebflask邮递员data
2条回答

确保`请求.files['Image']包含您要发送的图像,并跟随http://flask.pocoo.org/docs/1.0/patterns/fileuploads/将文件保存到您的文件系统。有点像

file = request.files['Image']
file.save('./test_image.jpg')

可能会做你想做的,而你将不得不计算出该如何命名文件和它应该放在哪里的细节。在

请原谅这篇几乎是博客的帖子。我发布这篇文章是因为虽然你可以在不同的地方找到部分答案,但我没有在任何地方看到完整的帖子,这将节省我大量的时间。问题是你需要故事的两个方面来验证其中一个。在

所以我想用Postman向Python/Flask web服务发送一个请求。它必须有一个图像和一些元数据。在

以下是邮递员(URL、邮件头)的设置:

enter image description here

和身体:

enter image description here

现在来看看web服务。下面是一个简单的服务,它将接受请求、打印元数据并保存文件:

from flask import Flask, request

app = Flask(__name__)        

# POST - just get the image and metadata
@app.route('/RequestImageWithMetadata', methods=['POST'])
def post():
    request_data = request.form['some_text']
    print(request_data)
    imagefile = request.files.get('imagefile', '')
    imagefile.save('D:/temp/test_image.jpg')
    return "OK", 200

app.run(port=5000)

享受吧!在

相关问题 更多 >