我尝试了以下方法:
f = default_storage.open('test/', 'w')
f.write('')
f.close()
但它返回了这个错误:
您提供的 XML 格式不正确或未针对我们发布的架构进行验证
我尝试了以下方法:
f = default_storage.open('test/', 'w')
f.write('')
f.close()
但它返回了这个错误:
您提供的 XML 格式不正确或未针对我们发布的架构进行验证
S3 中没有文件夹之类的东西。如果您使用路径保存文件,则会“伪造”目录结构。
对于 Google Cloud Storage,我最终通过覆盖save
写入空文件的方法来创建目录:
class Attachment(models.Model):
file = models.FileField(...)
def save(self, *args, **kwargs):
super(Attachment, self).save(*args, **kwargs)
cloud_storage = GoogleCloudStorage(...)
directory_path = "<your_path>"
if not cloud_storage.exists(directory_path):
directory = cloud_storage.open(directory_path, "w")
directory.write("")
directory.close()