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)