我已经实现了 Celery 任务,它从 Web 下载图像文件并将带有元数据的图像文件存储到数据库中。
实际上,我使用的是 Django ImageFieldModel
,因此元数据存储在数据库中,文件存储在 Azure Blob 存储中。
它在演示环境中运行良好。图像文件存储在与工作人员相同的物理位置的文件系统中。
但是,它在部署环境中存在问题。文件存储是 Azure Blob 存储。
有时,不存储 Imagefile。元数据在数据库中排序。
有谁知道为什么会这样。
我如何存储图像文件非常简单。
new_contents = ImageContents(user = user, privacy = privacy)
new_contents.thumb_file.save('filename.jpeg', thumb_file, save = True)
new_contents.save()
我已经为 Azure Blob 存储实现了 django-storage。
这是在 django 应用程序中打开文件的代码:
def _open(self, name, mode='rb'):
inMemFile = StringIO.StringIO(self.blob.get_blob(self.container, name))
inMemFile.name = name
inMemFile.mode = mode
return File(inMemFile)