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