形成图像数据,如何处理图像?

Form image data, how to handle image?

所以我向我的 Flask 应用程序发送了一个 Form 并希望接收表单图像数据输入并将其传递给另一个函数。

形式示例:

    <form action="https://example.com/api/accept_form" method="POST" enctype="multipart/form-data">
    <label for="fileupload"><input type="file" name="fileupload" value="fileupload" id="fileupload"  accept="image/*">
     Select a file to upload</label>
    <br><button id="submit">Post to Instagram</button>
    </form>

在烧瓶应用上:

def image_function(image):
     #DO SOMETHING WITH THE IMAGE

@main.route("/api/accept_form", methods=["POST"])
def manipulate_image():
    image = request.form["fileupload"]
    image_function(image)

我可以使用打印命令查看图像数据的外观:

request.files["fileupload"] = <FileStorage: '666650673.jpg' ('image/jpeg')>
request.files["fileupload"].read() = b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00H\x00H\x00\x00\xff\xe1\x00 and so on ...'

如何将图像传递给 Flask 应用程序中的另一个函数,就好像它是原始 .jpg 提交的,使用 "./666650673.jpg" 从 Flask 应用程序当前目录调用?

参考文献:

https://linuxhint.com/python-string-decode-method/

https://github.com/williballenthin/python-evtx/issues/43

正如@teddybearsuicide 所指出的,我的错误是我传递的是文件句柄而不是文件指针。

也许有更好的方法,但我只是根据this

将其保存在EC2本地

解决方案

request.files["image"].save("./imageToSave.jpg")

并像调用目录中的任何文件一样调用它。

image = "./imageToSave.jpg"

我宁愿不必保存它所以如果有人知道如何直接传递文件句柄来达到同样的效果那就太好了。