![](/img/trans.png)
[英]I am getting multer error : unexpected field when i was trying to upload files in aws s3 bucket
[英]Getting TypeError when trying to upload to s3 from heroku
錯誤:/accounts/work_feed/upload/1 序列項 0 處的 TypeError:預期的 str 實例,未找到 NoneType
當我嘗試將圖像從 heroku 上的 django 應用程序上傳到 aws s3 存儲桶時,出現此錯誤。
我的 settings.py 看起來像:
ROOT_URLCONF = 'ClassTrail.urls'
DATABASES = {
'default': dj_database_url.config()
}
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = 'static/'
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
django_heroku.settings(locals())
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = os.environ.get('BUCKET_NAME')
S3_URL = 'https://%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
AWS_QUERYSTRING_AUTH = False
(我刪掉了一些不相關的settings.py)
我的應用程序在本地與 postgres 和 aws 完美配合,但是當我在 heroku 上運行網站時,除了將文件上傳到 aws 之外,一切正常。
我已經使用 heroku config:set 在 heroku 上設置了環境變量。
我的存儲桶策略是:
{
"Version": "2012-10-17",
"Id": "Policy1648918943307",
"Statement": [
{
"Sid": "Stmt1648918911640",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::classtrailstorage/*"
}
]
}
我試圖用以下方法設置 cors:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET",
"HEAD",
"POST",
"PUT"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]
感謝您的任何幫助!
好的,經過數小時的調試並嘗試不同的方法使其正常工作后,問題是我將 heroku 配置變量設置為:AAWS_ACCESS_KEY_ID 而不是 AWS_ACCESS_KEY_ID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.