Неверный аргумент при вызове операции PutObject: None
я пытаюсь использовать boto3 и django-storages для хранения медиафайлов, когда я пытаюсь загрузить изображение, он выдает мне ошибку, подобную этой:
ClientError at /admin/myschool/secondary/add/
An error occurred (InvalidArgument) when calling the PutObject operation: None
даже в моей панели администратора.
Я новичок и не знаю, как это работает, это мой первый опыт использования AWS после перехода с cloudinary на aws S3.
я настроил все так, как вы можете видеть здесь в моем файле settings.py:
AWS_ACCESS_KEY_ID = ''
AWS_SECRET_ACCESS_KEY ''
AWS_STORAGE_BUCKET_NAME ''
AWS_S3_FILE_OVERWRITE = 'False'
AWS_DEFAULT_ACL = 'None'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
вот мой Cross-origin resource sharing (CORS), который я скопировал из stackoverflow, потому что я не знаю, как создать свой собственный:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET",
"HEAD"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": [],
"MaxAgeSeconds": 3000
}
]
Список контроля доступа (ACL):
Grantee
Objects
Bucket ACL
Bucket owner (your AWS account)
Canonical ID: ''
List
Write
Read
Write
Редактирование владения объектом
ACLs disabled (recommended)
вот мое полное сообщение об ошибке:
ClientError at /posting/secondary
При вызове операции PutObject произошла ошибка (InvalidArgument): None
Метод запроса: POST
URL запроса: http://127.0.0.1:8000/posting/secondary.
Версия Django: 4.0.1
Тип исключения: ClientError
Значение исключения:
Произошла ошибка (InvalidArgument) при вызове операции PutObject: None
Местоположение исключения: C:\Users\ADAMUDEE\AppData\Local\Programs\Python\Python310\lib\site-packages\botocore\client.py, строка 745, in _make_api_call
Python Executable: C:\Users\ADAMUDEE\AppData\Local\Programs\Python\Python310\python.exe
Версия Python: 3.10.0
Python Path:
['C:\Users\ADAMUDEE\Desktop\school\hello',
'C:\Users\ADAMUDEE\AppData\Local\Programs\Python\Python310\python310.zip',
'C:\Users\ADAMUDEE\AppData\Local\Programs\Python\Python310\DLLs',
'C:\Users\ADAMUDEE\AppData\Local\Programs\Python\Python310\lib',
'C:\Users\ADAMUDEE\AppData\Local\Programs\Python\Python310',
'C:\Users\ADAMUDEE\AppData\Roaming\Python\Python310\site-packages',
'C:\Users\ADAMUDEE\AppData\Local\Programs\Python\Python310\lib\site-packages'].
Время сервера: Sun, 10 Apr 2022 23:27:11 +0000
есть ли кто-нибудь, кто может помочь мне, пожалуйста?
ohh my God i decided my problem by genarating public access policy i also set my AWS_DEFAULT_ACL = 'public-read' and run collectstatic its shows me an error Could not connect to the endpoint URL: так что я решил эту проблему в здесь когда вы закончите, вернитесь в bucket вы увидите Only authorized users of this account как только вы увидите это, вы можете идти вперед и запустить collectstatic снова, и тогда вы можете идти.