コード例 #1
0
def dp_update():
    if "user_file" not in request.files:
        return "No user_file key in request.files"

    file = request.files["user_file"]

    if file.filename == "":
        return "Please select a file"

# D.
    if file and current_user.is_authenticated:
        # if file and allowed_file(file.filename):
        # file.filename = secure_filename(file.filename)
        filename = "profile." + file.filename.rsplit('.', 1)[1]
        # output = upload_file_to_s3(file, app.config["S3_BUCKET"], filename=str(current_user.id)+'/'+filename)
        upload_file_to_s3(file,
                          app.config["S3_BUCKET"],
                          filename=str(current_user.id) + '/' + filename)
        current_user.profile_pic = filename
        current_user.save()
        return redirect(url_for('index'))
        #http://my-bucket-now.s3.amazonaws.com/Screenshot_168.png

    else:
        return redirect("/")
コード例 #2
0
ファイル: view.py プロジェクト: zhongvei/flask-nextagram
def create(username):
    file = request.files["user_file"]
    user = User.get_or_none(User.id == current_user.id)
    image = Image(image_path=file.filename, user_id=user.id)
    upload_file_to_s3(file)
    image.save()
    flash(u'Image saved successfully!', 'success')
    return redirect(url_for('users.show', username=username))
コード例 #3
0
def create(id):
    if 'profile_img_file' not in request.files:
        flash(f"No profile_img_file key in request.files")
        return redirect(url_for('users.edit'))

    file = request.files["profile_img_file"]

    if file.filename == "":
        flash(f"Please select a file")
        return redirect(url_for('users.edit', id=id))

    if file and allowed_file(file.filename):
        file.filename = secure_filename(file.filename)
        output = upload_file_to_s3(file)

        if output:
            print(output)
            User.update(profile_image_path=output).where(
                User.id == current_user.id).execute()
            flash(f"Upload successful")
            return redirect(url_for('users.edit', id=id))

        else:
            flash(f"Could not upload the file to the database")
            return redirect(url_for('users.edit', id=id))

    else:
        flash(f"File type not accepted, please try again")
        return redirect(url_for('users.edit', id=id))
コード例 #4
0
def upload(id):
    user = User.get_or_none(User.id == id)
    if user:
        if current_user.id == int(id):
            # Upload image
            if "profile_image" not in request.files:
                flash("No file provided!")
                return redirect(url_for("users.edit", id=id))

            file = request.files["profile_image"]

            file.filename = secure_filename(file.filename)
            # Get path to image on s3 bucket
            image_path = upload_file_to_s3(file,user.username )
            # Update user with image path
            user.image_path = image_path
            if user.save():
                return redirect(url_for("users.show", username=user.username))
            else:
                flash("Could not upload image. Please try again")
                return redirect(url_for("users.edit", id=id))       
        else:
            flash("Cannot edit users other than yourself!")
            return redirect(url_for("users.show", username=user.username))
    else:
        flash("No such user!")
        redirect(url_for("home"))
コード例 #5
0
def create():
    user = User.get_or_none(User.id == current_user.id)
    if user:
        # Upload image
        if "new_image" not in request.files:
            flash("No file provided!")
            return redirect(url_for("images.new"))

        file = request.files["new_image"]
        if 'image' not in file.mimetype:
            flash("Please upload an image!")
            return redirect(url_for("images.new"))
        else:
            file_extension = file.mimetype
            file_extension = file_extension.replace('image/', '.')

        file.filename = str(datetime.now()) + file_extension
        file.filename = secure_filename(file.filename)
        image_path = upload_file_to_s3(file, user.username)
        image = Image(user_id=user.id, image_path=image_path)

        if image.save():
            flash("Successfully uploaded your new photo!", "success")
            return redirect(url_for("users.show", username=user.username))
        else:
            flash("Could not upload image. Please try again")
            return redirect(url_for("images.new"))
        return redirect(url_for('users.show', username=user.username))
    else:
        return abort(404)
コード例 #6
0
ファイル: views.py プロジェクト: dwihdyn/dwi-flask-nextagram
def profile_image(id):

    # 'profie_image' refers to `input` name in users/edit.html | if no image uploaded, give warning
    if 'profile_image' not in request.files:
        flash('Please choose your profile picture to be uploaded !',
              'text-warning')
        return redirect(url_for('users.edit', id=current_user.id))

    # receive file from user (same idea as `request.form.get('username')` in UserCredential)
    file = request.files['profile_image']

    # if provided file is not image file, give warning
    if not file or file.filename == "":
        flash('Please provide a valid file !', 'text-warning')
        return redirect(url_for('users.edit', id=current_user.id))

    # add timestamp to part of the .jpg name
    file.filename = unique_filename(file)

    # upload picture to given userId, and save it in string form in database. how we call the image is setup in models.user.py `S3_LOCATION + imageName.jpg`
    uploaded_pic = upload_file_to_s3(file, S3_BUCKET)
    ongoing_user = UserCredential.get_by_id(id)
    ongoing_user.profile_image = uploaded_pic
    ongoing_user.save()

    # if image did not uploaded to AWS, give warning
    if not uploaded_pic:
        flash(
            'There are issue in uploading the picture to server (AWS), should be okay now. try again!',
            'text-danger')
        return redirect(url_for('users.edit', id=current_user.id))

    # when all if are passed, tell user that picture are successfully uploaded
    flash('Profile image are successfully uploaded!', 'text-success')
    return redirect(url_for('home'))
コード例 #7
0
def upload(id):
    user = User.get_or_none(User.id == id)
    # profile_image = current_user.image_path
    if not current_user.image_path:
        flash(u"You must set a profile image first", 'danger')
        return redirect(url_for('users.edit', id=current_user.id))

    if "user_image" not in request.files:
        flash(u"You must upload an image file", 'warning')
        return redirect(url_for('images.new'))

    desc = request.form.get("desc")
    file = request.files["user_image"]
    if file.filename == "":
        flash(u"Please select a file", 'warning')
        return redirect(url_for('images.new'))

    if file and allowed_file(file.filename):
        file.filename = secure_filename(file.filename)
        result = upload_file_to_s3(file)
        if re.search("http", str(result)):
            try:
                img = Image(image_path=file.filename, desc=desc, user_id=id)
                img.save()
                flash(u"Your Photo is uploaded!", 'success')
                return redirect(url_for('images.new'))
            except:
                flash(u"An error has occured. Please try again", 'warning')
                return redirect(url_for('images.new'))
        else:
            flash(u"Network error. Please try again", 'warning')
            return redirect(url_for('images.new'))
    else:
        flash(u"Unsupported file type", 'danger')
        return redirect(url_for('images.new'))
コード例 #8
0
def upload(id):
    user = User.get_or_none(User.id == id)
    if user:
        if current_user.id == int(id):
            # upload the image
            if "profile_image" not in request.files:
                flash("No file selected")
                return redirect(url_for("users.edit", id=id))
            file = request.files["profile_image"]

            file.filename = secure_filename(file.filename)

            image_path = upload_file_to_s3(file, user.username)

            user.image_path = image_path

            if user.save():
                return redirect(url_for("users.show", username=user.username))
            else:
                flash("Upload failed, try again!")
                return redirect(url_for("user.edit", id=id))
        else:
            flash("You cannot edit other profiles")
            return redirect(url_for("users.show", username=user.username))
    else:
        flash("No such user found")
        return redirect(url_for("home"))
コード例 #9
0
def upload_profile(id):
    user = User.get_or_none(User.id == id)
    if user:
        if current_user.id == int(id):
            # Upload image
            if "profile_image" not in request.files:
                flash("No file provided!")
                return redirect(url_for("users.edit", id=id))

            file = request.files["profile_image"]
            if 'image' not in file.mimetype:
                flash("Please upload an image!")
                return redirect(url_for("users.edit", id=current_user.id))
            else:
                file_extension = file.mimetype
                file_extension = file_extension.replace('image/', '.')

            file.filename = user.username + "_profile_image" + file_extension
            file.filename = secure_filename(file.filename)
            # Get path to image on s3 bucket
            image_path = upload_file_to_s3(file, user.username)
            # Update user with image path
            user.image_path = image_path
            if user.save():
                return redirect(url_for("users.show", username=user.username))
            else:
                flash("Could not upload image. Please try again")
                return redirect(url_for("users.edit", id=id))
            return redirect(url_for('users.show', username=user.username))
        else:
            return abort(403)
    else:
        return abort(404)
コード例 #10
0
def upload_file(id):
    user = User.get_by_id(id)
    if user:
        if current_user.id == int(id):
            if "profile_image" not in request.files:
                flash("No profile_image key in request files.")
                return redirect(url_for('users.profileimg', id=user.id))

            file = request.files["profile_image"]

            file.filename = secure_filename(file.filename)

            image_path = upload_file_to_s3(file, user.username)

            user.image_path = image_path

            if user.save():
                return redirect(url_for('users.show', username=user.username))

            else:
                flash("Upload failed")
                return redirect(url_for('users.show', username=user.username))
        else:
            flash("Unauthorised to edit other user's profile")
            return redirect(url_for('sessions.new'))
    else:
        flash("User not found")
        return redirect(url_for('home'))
コード例 #11
0
def upload(id):
    user = User.get_or_none(User.id == id)
    if user:
        if current_user.id == int(id):
            if "profile_image" not in request.files:
                flash("No profile image provided.")
                return redirect(url_for("users.edit", id=id))

            file = request.files["profile_image"]

            file.filename = secure_filename(file.filename)

            image_path = upload_file_to_s3(file, user.username)

            user.image_path = image_path
            if user.save():
                return redirect(url_for("users.show", username=user.username))
            else:
                flash("Unable to upload. Please try again later.", "danger")
                return redirect(url_for("users.edit", id=id))
        else:
            flash(
                "You are not authorized to upload image from others account!")
            return redirect(url_for("users.show", username=user.username))

    else:
        flash("No such user!")
        return redirect(url_for("home"))
コード例 #12
0
def upload_profile_image(id):
    # get a file from request
    file = request.files["user_file"]
    # if no file in request
    if not file:
        flash("Please choose a file", 'danger')
        return render_template('users/edit.html')
# if there is a file in request & is allowed type
    elif file and allowed_file(file.filename):
        file.filename = secure_filename(file.filename)
        output = upload_file_to_s3(file)

        if not output:
            flash(f'Unable to upload {file.filename}, please try again.',
                  'danger')
            return render_template('users/edit.html')

        else:
            # get current user
            user = User.update(profile_image=output).where(
                User.id == current_user.id)
            # save profile image link
            user.execute()
            flash(f'Successfully uploaded {file.filename}', 'success')
            return redirect(
                url_for('users.show', username=current_user.username))
コード例 #13
0
def upload_img():

    if "user_file" not in request.files:
        return flash("No user_file key in request.files")

    file = request.files["user_file"]
    caption = request.form.get('caption')

    if file.filename == "":
        return flash("Please select a file")

    if file and allowed_file(file.filename):
        file.filename = secure_filename(file.filename)
        output = upload_file_to_s3(file, Config.S3_BUCKET)

        p = Image(user=current_user.id,
                  upload_image=file.filename,
                  caption=caption)
        p.save()

        return redirect(url_for("sessions.profile", id=current_user.id))

    else:
        flash("Please try again 🥺")
        return render_template("sessions/profile.html")
コード例 #14
0
def upload(user_id):
    user = User.get_or_none(User.id == user_id)
    
    if user:
        if current_user.id == int(user_id):
            # We check the request.files object for a user_file key. (user_file is the name of the file input on our form). If it's not there, we return an error message.
            if "image" not in request.files:
                flash("No file provided!")
                return redirect(url_for('images.new'))
            
            # If the key is in the object, we save it in a variable called file.
            file = request.files["image"]

            # we sanitize the filename using the secure_filename helper function provided by the werkzeurg.security module.
            file.filename = secure_filename(file.filename)

            # get path to image on S3 bucket using function in helper.py
            image_path = upload_file_to_s3(file, user.username)
            
            new_image = Image(user=user, image_url=image_path)
            
            if new_image.save():
                flash("Successfully uploaded!","success")
                return redirect(url_for("users.show", username=user.username))  # then redirect to profile page
            else:
                flash("Upload failed :(  Please try again")
                return redirect(url_for('images.new'))
        else:
            flash("Cannot uplaod images for other users", "danger")
            return redirect(url_for('users.show', username = user.username))
            
    else:
        flash("No user found!")
        return redirect(url_for('home'))
コード例 #15
0
def create():

    if 'image_file' not in request.files:
        flash('No image_file key in request.files')
        return render_template("home.html")

    file = request.files['image_file']

    if file.filename == '':
        flash('No selected file')
        return render_template("home.html")

    if file and allowed_file(file.filename):
        file.filename = secure_filename(
            f"{str(datetime.datetime.now())}{file.filename}")
        output = upload_file_to_s3(file)
        if output:
            image = Image(user=current_user.id,
                          image_path=file.filename,
                          caption=request.form.get("caption"))
            image.save()
            flash("Image successfully uploaded", "success")
            return redirect(
                url_for('users.show', username=current_user.username))
        else:
            flash(output, "danger")
            return render_template("home.html")

    else:
        flash("File type not accepted,please try again.")
        return render_template("home.html")
コード例 #16
0
def upload(id):
    # user = User.get_or_none(User.id == id)
    if "profile_image" not in request.files:
        flash(u"You must upload an image file", 'warning')
        return redirect(url_for('users.edit', id=id))

    file = request.files["profile_image"]
    if file.filename == "":
        flash(u"Please select a file", 'warning')
        return redirect(url_for('users.edit', id=id))

    if file and allowed_file(file.filename):
        file.filename = secure_filename(file.filename)
        result = upload_file_to_s3(file)
        if re.search("http", str(result)):
            try:
                query = User.update(image_path=file.filename).where(
                    User.id == id)
                query.execute()
                flash(u"Profile picture updated!", 'success')
                return redirect(url_for('users.edit', id=id))
            except:
                flash(u"An error has occured. Please try again", 'warning')
                return redirect(url_for('users.edit', id=id))
        else:
            flash(u"Network error has occured. Please try again", 'warning')
            return redirect(url_for('users.edit', id=id))
    else:
        flash(u"Unsupported file type", 'danger')
        return redirect(url_for('users.edit', id=id))
コード例 #17
0
def create():
    if 'post_img_file' not in request.files:
        flash(f"No post_img_file key in request.files")
        return redirect(url_for('users.show', username=current_user.username))

    file = request.files["post_img_file"]

    if file and allowed_file(file.filename):
        file.filename = secure_filename(file.filename)
        output = upload_file_to_s3(file)

        if output:
            user = current_user.id
            image_path = output
            post = Post(user=user, image_path=image_path)
            post.save()
            flash(f"Image has been posted to your feed!")
            return redirect(
                url_for('users.show', username=current_user.username))

        else:
            flash(f"Could not upload the file to the database")
            return redirect(
                url_for('users.show', username=current_user.username))

    else:
        flash(f"File type not accepted, please try again")
        return redirect(url_for('users.show', username=current_user.username))
コード例 #18
0
def create():
    file = request.files.get("images")

    image_path = upload_file_to_s3(file, current_user.username)
    user = User.get(User.username == current_user.username)

    image = Image(user=user, images_pathway=image_path)

    if image.save():
        flash('You have successfully upload a new image!', 'success')
    print(file.mimetype)
    # return "hehehe"
    # sendfile()

    # image_binary = read_image(file)

    # response = make_response(image_binary)
    # response.headers.set('Content-Type', 'image/jpeg')
    # response.headers.set(
    #     'Content-Disposition', 'attachment', filename='%s.jpg' % pid)
    # return response

    # return send_file(io.BytesIO(file.read()),
    #                  attachment_filename=file.filename,
    #                  mimetype='image/jpg')
    # return send_file(file.filename,mimetype=f'{file.mimetype}')

    # return jsonify(file)

    # return Response(file,mimetype="text/jpeg")
    return redirect(url_for('users.edit', id=user.id))
コード例 #19
0
def upload():

    # check whether an input field with name 'user_file' exist
    if 'user_file' not in request.files:
        flash('No user_file key in request.files')
        return redirect(url_for('users.edit',id=current_user.id))

    # after confirm 'user_file' exist, get the file from input
    file = request.files['user_file']

    # check whether a file is selected
    if file.filename == '':
        flash('No selected file')
        return redirect(url_for('users.edit',id=current_user.id))

    # check whether the file extension is allowed (eg. png,jpeg,jpg,gif)
    if file and allowed_file(file.filename):
        file.filename = secure_filename(f"{str(datetime.datetime.now())}{file.filename}")
        output = upload_file_to_s3(file) 
        if output:
            User.update(profile_image=file.filename).where(User.id==current_user.id).execute()
            flash("Profile image successfully uploaded","success")
            return redirect(url_for('users.show',username=current_user.username))
        else:
            flash(output,"danger")
            return redirect(url_for('users.edit',id=current_user.id))

    # if file extension not allowed
    else:
        flash("File type not accepted,please try again.")
        return redirect(url_for('users.edit',id=current_user.id))
コード例 #20
0
def img_upload():
    if 'user_img' not in request.files:
        flash('No image_file key in request.files')
        return redirect(url_for('users.img_upload'))

    file = request.files['user_img']

    if file.filename == '':
        flash('No file was selected')
        return redirect(url_for('users.img_upload'))

    if file and allowed_file(file.filename):
        output = upload_file_to_s3(file)
        if output:
            User_img(user=current_user.id, user_image=output).save()
            # User.update(profile_img = output).where(User.id==current_user.id).execute()
            flash('Upload success')
            return redirect(
                url_for('users.show', username=current_user.username))
        else:
            flash('Unable to upload, try again')
            return redirect(url_for('upload'))
    else:
        flash('File type not supported!!!')
        return redirect(url_for('upload'))
コード例 #21
0
def upload_image(id):
    # get a file from request
    file = request.files["image"]
    # if no file in request
    if not file:
        flash("Please choose a file", 'danger')
        return render_template('images/new.html')

# if there is a file in request & is allowed type
    elif file and allowed_file(file.filename):
        file.filename = secure_filename(file.filename)

        output = upload_file_to_s3(file)

        if not output:
            flash(f'Unable to upload {file.filename}, please try again.',
                  'danger')
            return render_template('images/new.html')

        else:
            user = User.get_by_id(current_user.id)
            image = Image(filename=output, user=user)
            image.save()
            flash(f'Successfully uploaded {file.filename}', 'success')
            return redirect(url_for('users.show', username=user.username))
コード例 #22
0
def upload(id):
    user = User.get_or_none(User.id == id)

    if user:
        if current_user.id == int(id):
            if "profile_image" not in request.files:
                flash("No image uploaded!")
                return redirect(url_for("users.edit", id=id))

            file = request.files["profile_image"]
            file.filename = secure_filename(file.filename)
            image_path = upload_file_to_s3(file, user.username)

            user.image_path = image_path

            if user.save():
                flash("Successfully uploaded profile image", 'success')
                return redirect(url_for("users.show", username=user.username))

            else:
                flash("Failed to upload image! Please try again", "danger")

                return redirect(url_for("users.edit", id=id))
        else:
            flash("You can't change about other users!", "danger")
            return redirect(url_for("users.show", username=user.username))
    else:
        flash("User does not exist!", "danger")
        return redirect(url_for("home"))
コード例 #23
0
def upload(id):
    if "user_file" not in request.files:
        flash("No user_file key in request.files",'danger')
        return redirect(url_for('index'))
    file = request.files["user_file"]
    if file.filename == "":
        flash("Please select a file",'danger')
        return redirect(url_for('index'))
    if file and allowed_file(file.filename):
        output = upload_file_to_s3(file, app.config["S3_BUCKET"])
        if request.form.get('gallery'):
            gallery_checked = False
            image = Image(name=file.filename ,image_path = str(output),user = current_user.id, gallery=gallery_checked)
            if image.save():
                flash("Your profile photo successfully uploaded.",'primary')
                User.update(profile_pic =str(output) ).where(User.id==id).execute()
                return redirect(url_for('index'))
            return render_template('home.html')
        else:
            image = Image(name=file.filename ,image_path = str(output),user = current_user.id, gallery=True)
            if image.save():
                flash("Photo successfully uploaded.",'primary')
                return redirect(url_for('index'))
    else:
        return render_template('home.html')
コード例 #24
0
def create():
    if 'user_file' not in request.files:
        return "No user_file key in request.files"

    file = request.files["user_file"]

    if file.filename == "":
        return "Please select a file"

    if file and allowed_file(file.filename):
        image = Image(path=file.filename, user_id=current_user.id)
        image.save()
        upload_file_to_s3(file)
        return redirect(url_for('users.show', username=current_user.username))

    else:
        return redirect(url_for('image.new', id=id))
コード例 #25
0
def upload_file(id):

    if 'user_file' not in request.files:
        return "No user_file key in request.files"

    file = request.files["user_file"]

    if file.filename == "":
        return "Please select a file"

    if file and allowed_file(file.filename):
        user = User.update(photo=file.filename).where(User.id == id)
        user.execute()
        upload_file_to_s3(file)
        return redirect(url_for('users.show', username=current_user.username))

    else:
        return redirect(url_for('users.edit', id=id))
コード例 #26
0
def profile_images_create(id):
    try:
        file = request.files['file']
        e = upload_file_to_s3(file=file, id=id, folder=S3_PROFILE_IMAGES_FOLDER)
        if e:
            return redirect(url_for('users.profile_images_new', id=id))
        else:
            User.update(image=file.filename).where(User.id == id).execute()
            return redirect(url_for('users.show', id=id))
    except: 
        flash("Please add a file!", 'danger')
        return redirect(url_for('users.profile_images_new', id=id))
コード例 #27
0
def create():
    if "newpic" not in request.files:
        return "No newpic key in request.files"

    file = request.files["newpic"]

    if file.filename == "":
        return "Please select a file"

	# D.
    if file and current_user.is_authenticated:
    # if file and allowed_file(file.filename):
        # file.filename = secure_filename(file.filename)
        filename = file.filename
        # output = upload_file_to_s3(file, app.config["S3_BUCKET"], filename=str(current_user.id)+'/'+filename)
        upload_file_to_s3(file, app.config["S3_BUCKET"], filename=str(current_user.id)+'/'+filename)
        new_post = Post(user_id = current_user.id, post_image = filename)
        new_post.save()
        return redirect(url_for('users.show', username=current_user.username))
        #http://my-bucket-now.s3.amazonaws.com/Screenshot_168.png

    else:
        return redirect("/")
コード例 #28
0
ファイル: views.py プロジェクト: dwihdyn/dwi-flask-nextagram
def create():

    # if no files entered, show warning
    if 'new_image' not in request.files:
        flash('Please provide a picture to brag !', 'text-warning')
        return redirect(url_for('images.new'))

    # take in image & caption argument from user
    file = request.files['new_image']
    enterred_caption = request.form['image_caption']

    # if wrong kind of file being provided, show warning
    if not file or file.filename == "":
        flash('Please provide an image file, not any other kind of file',
              'text-warning')
        return redirect(url_for('images.new'))

    # enforce caption
    if not len(enterred_caption) > 0:
        flash('Provide a caption! you cannot brag without any caption!',
              'text-warning')
        return redirect(url_for('images.new'))

    # upload post picture to AWS
    file.filename = unique_filename(file)
    uploaded_picture = upload_file_to_s3(file, S3_BUCKET)
    # breakpoint()

    # if not uploaded to aws, show warning
    if not uploaded_picture:
        flash(
            'There are issue in uploading the picture to server (AWS), should be okay now. try again!',
            'text-danger')
        return redirect(url_for('images.new'))

    new_feed = ImageFeed(user_id=current_user.id,
                         picture_name=file.filename,
                         caption=enterred_caption)

    new_feed.save()

    # if new_feed not uploaded to psql, show warning
    if not new_feed:
        flash('Unable to create new post, check your internet connection! ',
              'text-danger')
        return redirect(url_for('images.new'))

    # flash `upload success` & take user to `home`
    flash('New post has been successfully created!', 'text-success')
    return redirect(url_for('home'))
コード例 #29
0
ファイル: views.py プロジェクト: weikhang93/Flasktagram
def upload_profile_image(id):

    user = User.get_by_id(int(id))
    file = request.files.get("profile_image")

    file.filename = secure_filename(file.filename)

    image_path = upload_file_to_s3(file, user.username)

    user.profile_image_pathway = image_path

    if user.save():
        flash("Profile Image updated!", "success")

    return redirect(url_for('users.edit', id=id))
コード例 #30
0
def create():
    try:
        id = current_user.id
        file = request.files['file']
        blurb = request.form.get('blurb')
        e = upload_file_to_s3(file=file, id=id, folder=S3_IMAGES_FOLDER)
        if e:
            return redirect(url_for('images.new'))
        else:
            Image(blurb=blurb, image=file.filename, user_id=id).save()
            return redirect(
                url_for('users.show', id=id)
            )  # should probably change this to an images.show page that will show the image that was uploaded
    except:
        flash("Please add a file!", 'danger')
        return redirect(url_for('images.new'))