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中存储图像文件,但我不明白是什么问题
1条答案
按热度按时间iklwldmw1#
这里的问题是您正在使用
FileStorage
对象的save()
方法。因此,删除
imagedata.save(image_bytes, format="JPEG")
行会有所帮助。然后,如果你的图像超过16MB,请注意MongoDB将在这里遇到限制。