Я отправляю файл excel как запрос в почтальоне, и мне нужно загрузить его на s3. Я получаю доступ к файлу из запроса и отправляю его на s3.
@api_view(['POST'])
def excel_upload(request):
print("request", request)
excel_file = request.FILES['file']
print("excel_file", excel_file) // this prints the name of the excel file i am sending in request
upload_to_aws(excel_file,'X1excelsheets','s3_file_name')
, и вот функция загрузки файла на s3.
def upload_to_aws(local_file, bucket, s3_file):
s3 = boto3.client('s3', aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY)
try:
s3.upload_file(local_file, bucket, s3_file)
print("Upload Successful")
return True
except FileNotFoundError:
print("The file was not found")
return False
except NoCredentialsError:
print("Credentials not available")
return False
uploaded = upload_to_aws('local_file', 'bucket_name', 's3_file_name')
Я пытаюсь использовать этот конкретный пост
https://medium.com/bilesanmiahmad/how-to-upload-a-file-to-amazon-s3-in-python-68757a1867c6
, чтобы добиться цели. Ошибка: ValueError: Имя файла должно быть строкой