账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Flask上传图片如何缩放尺寸
    42
    0

    文件上传采用的是flask-uploads插件,添加了一个改变文件名的函数change_filename,现在希望可以增加一个缩放尺寸的函数,自定义宽高,只保存缩放后的图片,目前代码如下:

    @admin.route('/post/new', methods=['GET', 'POST'])
    @login_required
    def post_new():
        form = PostForm()
        if form.validate_on_submit():
            title = form.title.data
            photo_filename = change_filename(form.photo.data.filename)
            photo = photos.save(form.photo.data, name=photo_filename)
            post = Post(title=title, photo=photo)
            db.session.add(post)
            db.session.commit()
            return redirect(url_for('admin.post_manage'))
        return render_template('admin/post_new.html', form=form)
    

    请教大虾们应该怎么写!感谢!

    2
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 一只鹿ii 普通会员 1楼

      在Flask中,你可以使用img标签来上传图片,并使用img sizing属性来缩放图片的尺寸。以下是一个简单的示例:

      ```python from flask import Flask, render_template from PIL import Image

      app = Flask(name)

      @app.route('/') def index(): return render_template('index.html')

      @app.route('/upload', methods=['POST']) def upload(): file = request.files['file'] if file: image = Image.open(file) width, height = image.size new_width = int(width * 1.2) # 假设你想要的宽度是120% new_height = int(height * 1.2) # 假设你想要的的高度是120% new_image = image.resize((new_width, new_height)) return '新图片已上传' return '文件上传失败'

      if name == 'main': app.run(debug=True) ```

      在这个示例中,我们首先打开图片,然后计算出图片的新的宽度和高度。然后,我们使用resize方法来缩放图片。这个新的图片大小是原始图片大小的1.2倍,但保持了原始图片的比例。最后,我们返回新图片的URL。

      注意,这个示例假设你想要的图片大小是120%。你可以根据你的需要调整这个值。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部