如何使用flask和pymongo将图像文件从表单发送到mongoDB

guz6ccqo  于 2023-03-22  发布在  Go
关注(0)|答案(1)|浏览(167)
from flask import Flask, render_template, url_for, request, redirect
from pymongo import MongoClient
from PIL import Image
import io
from matplotlib import pyplot as plt
app = Flask(__name__)

client = MongoClient("localhost", 27017)
db = client.data

todos = db.images

@app.route("/", methods=["POST", "GET"])
def home():
    if request.method == "POST":
        imagedata = request.files["file"]
        
        image_bytes = io.BytesIO()
        imagedata.save(image_bytes, format="JPEG")
        image = {
            image: image_bytes.getvalue()
        }
        todos.insert_one(image)
        return redirect(url_for("home"))

    return render_template("index1.html")

if __name__ == "__main__":

enter image description here
我试图使用flask和pymongo在mongoDB中存储图像文件,但我不明白是什么问题

iklwldmw

iklwldmw1#

这里的问题是您正在使用FileStorage对象的save()方法。
因此,删除imagedata.save(image_bytes, format="JPEG")行会有所帮助。
然后,如果你的图像超过16MB,请注意MongoDB将在这里遇到限制。

相关问题