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))
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))
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))
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))
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")
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'))
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")
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))
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'))
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))
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))
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'))
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
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))
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')
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("/")