我使用这种方式拍摄图像,并使用flask将其存储在我的数据库中:
class Gallery(db.Model):
__tablename__ = 'Gallery'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(128), nullable=False)
name = db.Column(db.String(128), nullable=False)
data = db.Column(db.LargeBinary, nullable=False)
rendered_data = db.Column(db.Text, nullable=False)
def render_picture(data):
render_pic = base64.b64encode(data).decode('ascii')
return render_pic
@app.route('/gallery/create', methods=['POST'])
def create_gallery():
title = request.form['title']
file = request.files['file']
data = file.read()
render_file = render_picture(data)
newFile = Gallery(name=file.filename, data=data, rendered_data=render_file, title=title)
db.session.add(newFile)
db.session.commit()
db.session.close()
它工作正常,但我需要在将图像存储到数据库之前减小图像大小 我尝试了很多种枕头,但它不符合我存储图像的方式
有人能帮我缩小图像尺寸吗
我真的不明白你的文件里有什么,你是如何执行的,但只要它能工作,就可以了。关于调整图像大小的问题,使用PIL(Python图像库)是正确的。我不熟悉base64和io,我认为您根本不需要它们。我调整图像大小的方法是:
您可以创建一个函数来执行以下操作:
我使用的Python秘密可以作为
这可以用来为图像生成一个随机名称,所以我们没有很多同名的图像,我已经将其指定为8位,如上所示
form_picture
是此处的一个参数:这将定义图片的路径,将
"static/profile_pics"
与picture_fn
变量连接起来,后者是定义图片实际名称的变量名称output_size
函数指定图片为125像素并在最后保存上述图片
在我的示例中,上传的图像被缩放并作为二进制数据存储在数据库中。要显示它,可以创建数据的数据url,也可以将图像的数据下载为文件
相关问题 更多 >
编程相关推荐