def post(self): """ Creates an image """ args = image_upload.parse_args() image = args['image'] folder = args['folder'] if len(folder) > 0: folder = folder[0].strip('/') + folder[1:] directory = os.path.join(Config.DATASET_DIRECTORY, folder) path = os.path.join(directory, image.filename) if os.path.exists(path): return {'message': 'file already exists'}, 400 if not os.path.exists(directory): os.makedirs(directory) pil_image = Image.open(io.BytesIO(image.read())) image_model = ImageModel(file_name=image.filename, width=pil_image.size[0], height=pil_image.size[1], path=path) image_model.save() pil_image.save(path) image.close() pil_image.close() return query_util.fix_ids(image_model)
def addImage(): st.header("Upload image to continue") img_name = st.text_input("Enter image name") img_file = st.file_uploader("Insert Image Here") if img_file: img = Image.open(img_file) st.image(img) img_path = "./uploads/" + img_name + ".png" img.save(img_path) add_btn = st.button("Save image") if add_btn and img_name and img_file: with st.spinner("Saving your Image"): img_data = ImageModel(name=img_name, path=img_path) sess.add(img_data) sess.commit() st.success("Image successfully saved")
def handle_image_uploading(): if not request.files or not request.files['file']: return ApiResponse(message="File is missing", has_error=True).send() if not request.form['title'] or len(request.form['title']) > constants.IMAGE_TITLE_MAX_LENGTH: return ApiResponse(message="Title is invalid", has_error=True).send() if request.form['description'] and len(request.form['description']) > constants.IMAGE_DESCRIPTION_MAX_LENGTH: return ApiResponse(message="Description is invalid", has_error=True).send() # read the file and prepare a filename file = request.files['file'] filename = request.files['file'].filename if not is_allowed_file_extension(filename): return ApiResponse(message="File type is not supported", has_error= True).send() # generate today's folder such as folder '12-2-2012' storage_full_dir = generate_todays_date_folder() filename = secure_filename(file.filename) secret_filename = generate_secret_filename_for(filename) image_complete_path = os.path.join(storage_full_dir, secret_filename) file.save(image_complete_path) image_record = ImageModel(title=request.form['title'], description=request.form['description'], image_filename=secret_filename, storage_full_dir=storage_full_dir) db.session.add(image_record) db.session.commit() # we do refresh to update image_record with ID from the db db.session.refresh(image_record) short_url = image_record.self_assign_short_url() db.session.add(image_record) db.session.commit() image_full_url = _generate_image_url(short_url) return ApiResponse(message='Image uploaded: URL => {}'.format(image_full_url)).send()
def saveImage(): img_name = st.text_input("Enter name of Image") img_file = st.file_uploader("Upload your Image") if img_file: img = Image.open(img_file) st.image(img) btn = st.button("Save Image") if btn: try: # to save image file in uploads folder path = "uploads/" + img_name + ".png" img.save(path) # to save image in database img_data = ImageModel(name=img_name, filename=path) sess.add(img_data) sess.commit() st.success("Image Saved") except: st.error('Something went wrong')