我已经使用Django-storage成功将word文档存储到s3。
class Document(TitleSlugDescriptionModel, TimeStampedModel):
document = models.FileField(upload_to=user_directory_path)
现在在celery任务中,我需要再次下载此文件以便在worker中进行进一步处理。
我是否需要从Url读取文件,然后显式创建本地副本,或者有没有办法使用Django-storage创建本地副本?
非常感谢任何指导
答案 0 :(得分:0)
您可以使用读取方法直接在Django中读取文件,如下所示:
document.read()
这将输出二进制文件,您可以使用
f=open(filename, 'wb')
f.write(document.read())
f.close
您也可以在S3上生成指向该文件的URL。关于这两个文档的更多信息:https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html