Пример #1
0
def image_upload():
    if request.method == 'POST':
        form = ImageForm(request.form)
        if form.validate():
            image_file = request.files['file']
            # test if file is a PNG, GIF, or JPEG
            if image_file.content_type in ['image/png', 'image/gif', 'image/jpeg']:
                filepath = os.path.join(app.config['IMAGES_DIR'], secure_filename(image_file.filename))
                image = Image(path=filepath)
                image_file.save(image.path)
                # must grab image size after the image gets saved. Everything else can be generated or gotten at Image.__init__()
                image.size = os.path.getsize(image.path)
                db.session.add(image)
                db.session.commit()
                flash('Saved %s' % os.path.basename(image.path), 'success')
                return redirect(url_for('gallery.index'))
            else:
                flash('File extension "%s" not recognized!' % image_file.content_type, 'error')
    else:
        form = ImageForm()
    return render_template('gallery/image_upload.html', form=form)