Hi,
I am trying to upload a video stored on a users local machine to an AWS S3 bucket using a mixture of boto3 and the st.file_uploader component however whenever I try to do this it cannot load the file.
Iβve put the code extracts below (removing security details). If anyone could help point me in the right direction I would REALLY appreciate it.
Thanks in advance!
def uploadMP4ToS3(file, bucket, s3_file):
s3 = boto3.client('s3',
region_name='[REDACTED]',
aws_access_key_id='[REDACTED]',
aws_secret_access_key='[REDACTED]')
try:
s3.upload_file(file, bucket, s3_file)
st.success('File Successfully Uploaded')
return True
except FileNotFoundError:
time.sleep(9)
st.error('File not found.')
return False
c1, c2 = st.columns(2)
c1.subheader("Upload MP4 Video/Audio File")
uploaded_mp4 = c1.file_uploader("Select an MP4 file")
if uploaded_mp4 is not None:
if uploaded_mp4.type != "video/mp4":
c1.error('Only MP4 videos are supported. Please upload a different file')
else:
c1.success(uploaded_mp4.name + ' Selected')
bytes_data = uploaded_mp4.getvalue()
if c1.button('Upload'):
with st.spinner('Uploading...'):
uploadMP4ToS3(uploaded_mp4.name,'[REDACTED]',uploaded_mp4.name)