我创建了一个表单字段,并使用它上传文件。我希望这些文件直接上传到s3,而不保存在本地。下面是代码
class UploadFileForm(forms.Form):
file = forms.FileField()
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
print('file upload',request.FILES['file'])
s3 = boto3.client('s3')
现在我如何通过s3上传request.FILES['file']
我不想使用djangostorages,因为我已经在另一个桶和任务中使用了。
1条答案
按热度按时间4nkexdtk1#
我不知道你的错误消息,但以下步骤可能工作...
1.导入boto3
1.初始化S3对象
1.指定区域和存储桶
1.从表单中获取上传的文件
1.将带有主体和密钥的对象放入S3(文件名)
如果不起作用,请检查与错误消息相关的AWS S3设置(凭据、IAM角色、默认区域、存储桶策略和其他设置)。