sharma-kanishka's picture
Update utils.py
6ac8cc3 verified
raw
history blame contribute delete
999 Bytes
import base64
def encode_image_to_base64(uploaded_file):
"""
Convert a Streamlit uploaded file to a base64 string.
Args:
uploaded_file (UploadedFile): File object from st.file_uploader()
Returns:
tuple: (base64_string, mime_type)
"""
try:
# Get the file extension
file_type = uploaded_file.type
# Determine MIME type
mime_types = {
'image/png': 'image/png',
'image/jpeg': 'image/jpeg'
}
mime_type = mime_types.get(file_type, 'image/png')
# Read the binary data directly from the uploaded file
binary_data = uploaded_file.getvalue()
# Encode to base64
base64_encoded = base64.b64encode(binary_data)
# Convert to string and remove b'' prefix
return base64_encoded.decode('utf-8'), mime_type
except Exception as e:
raise Exception(f"Error encoding image: {str(e)}")