コード例 #1
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))
コード例 #2
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))
コード例 #3
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))
コード例 #4
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))
コード例 #5
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")
コード例 #6
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'))
コード例 #7
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")
コード例 #8
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))
コード例 #9
0
ファイル: views.py プロジェクト: jayronx512/nextagram_final
def upload_form():
    if "user_file" not in request.files:
        flash('No user_file key in request.files', 'danger')
        return render_template('users/upload.html')

    file = request.files["user_file"]

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

    if file and allowed_file(file.filename):
        file.filename = secure_filename(file.filename)
        # breakpoint()
        output = upload_file_to_s3(file, S3_BUCKET)
        new_image = Image(user_id=current_user.id, image_url=str(output))
        if new_image.save():
            # breakpoint()
            return redirect(url_for('users.upload'))
コード例 #10
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))
コード例 #11
0
def create():
    file = request.files['image_file']
    if not file:
        flash("Please select a file", 'danger')
        return render_template('images/new.html')
    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}', 'danger')
            return render_template('users/edit.html')

        else:
            user = User.get_by_id(current_user.id)
            image = Image(image_path=output, user=user)
            image.save()
            flash(f'Successfully uploaded {file.filename}', 'success')
            return redirect(url_for('users.show', username=user.username))
コード例 #12
0
ファイル: views.py プロジェクト: jayronx512/nextagram_final
def edit_profile_pic_form():
    if "user_file" not in request.files:
        flash('No user_file key in request.files', 'danger')
        return render_template('users/new.html')

    file = request.files["user_file"]

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

    if file and allowed_file(file.filename):
        file.filename = secure_filename(file.filename)
        # breakpoint()
        output = upload_file_to_s3(file, S3_BUCKET)
        query = User.update(profile_pic=str(output)).where(
            User.id == current_user.id)
        if query.execute():
            return redirect(url_for('home'))

    else:
        return redirect(url_for('users.edit_profile_pic'))
コード例 #13
0
def profile_image():
    username = get_jwt_identity()
    user = User.get_or_none(User.username == username)

    if 'image' not in request.files:
        return jsonify({
            "message": "No image provided",
            "status": "failed"
        }), 400

    file = request.files["image"]
    if file.filename == "":
        return jsonify({
            "message": "No file selected for uploading",
            "status": "failed"
        }), 400

    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)):
            query = User.update(image_path=file.filename).where(
                User.id == user.id)
            query.execute()
            return jsonify({
                "image_url": "{user.profile_image_url}",
                "success": True
            }), 200
        else:
            return jsonify({
                "message": "Network error. Try again",
                "status": "failed"
            }), 400
    else:
        return jsonify({
            "message": "Unsupported file type",
            "status": "failed"
        }), 400
コード例 #14
0
def upload_file():
    if "user_file" not in request.files:
        return flash("No user_file key in request.files")

    file = request.files["user_file"]

    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)
        user = User.update(profile_image=file.filename).where(
            User.id == current_user.id)
        user.execute()
        return redirect(
            url_for('sessions.profile',
                    img=current_user.profile_image,
                    name=current_user.name,
                    id=current_user.id))

    else:
        return redirect(url_for('users.edit', id=current_user.id))
コード例 #15
0
ファイル: views.py プロジェクト: suzukisteven/Instagram-Clone
def update(id):
    user = User.get_by_id(id)
    if current_user == user:
        user.user_name = request.form['user_name']
        user.email = request.form['email']
        if request.form.get('password'):
            user.password = request.form.get('password')

        if request.form.get('description'):
            user.description = request.form.get('description')

        if request.files.get('user_file'):
            if "user_file" not in request.files:
                flash("No file found! Please try again.")
            
            file = request.files["user_file"]

            if file.filename == "":
                return "Please select a file with a valid filename."
            
            if file and allowed_file(file.filename):
                file.filename = secure_filename(str(user.id) + file.filename + str(datetime.datetime.now()))
                output = upload_file_to_s3(file, app.config["S3_BUCKET"])
                user.profile_image_path = output
            else:
                flash("Please upload only .png, ,jpg, .jpeg or .gif format", "danger")
                return render_template('home.html')
        
        if user.save():
            flash("Your Profile has been updated.", "success")
            return redirect(url_for('users.show', id=user.id))
        else:
            flash("Your changes were not saved. Please try again.", "danger")
            return redirect(url_for('users.edit', id=user.id, errors=user.errors))
    else:
        flash("You are not authorized to do that.", "danger")
        return render_template('home.html')
コード例 #16
0
def upload_photo(id):
    if "user_file" not in request.files:
        flash("You didn't upload a file! Please try again.", "danger")

    file = request.files.get('user_file')

    if file:
        if file.filename == "":
            return "Please select a file with a valid name."

        if file and allowed_file(file.filename):
            file.filename = secure_filename(
                str(id) + "_" + file.filename + "_" +
                str(datetime.datetime.now()))
            output = upload_file_to_s3(file, app.config["S3_BUCKET"])
            Image.create(image_path=output, user_id=id)
            flash("Your Post was created", "success")
            return redirect(url_for('users.show', id=id))
        else:
            flash("Only .jpg, .jpeg, .png, or .gif formats are accepted.",
                  "danger")
            return redirect("/")
    else:
        return redirect("/")