我正在尝试在我的Django项目中使用boto3
将文件上传到Amazon S3。凭据已在settings.py
中定义:
AWS_ACCESS_KEY = xxxxxxxx
AWS_SECRET_KEY = xxxxxxxx
S3_BUCKET = xxxxxxx
在
views.py
中:import boto3
s3 = boto3.client('s3')
path = os.path.dirname(os.path.realpath(__file__))
s3.upload_file(path+'/myphoto.png', S3_BUCKET, 'myphoto.png')
系统报错提示“无法找到凭证”。我有两个问题:
(a) 看起来我应该创建一个凭证文件
~/.aws/credentials
。但在django项目中,我应该把它放在哪里?(b) s3方法
upload_file
将文件路径/名称作为其第一个参数。是否可能提供通过表单输入元素<input type="file" name="fileToUpload">
获取的文件流?
boto
而不是boto3
。它们实际上有很大的区别吗?还有一个问题:如果我通过表单输入<input type="file" name="fileToUpload">
获取文件,我该怎么办? - Randy Tang