ValueError: Имя файла должно быть строкой при загрузке файла в корзину s3 - PullRequest
0 голосов
/ 24 января 2020

Я отправляю файл 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: Имя файла должно быть строкой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...