0

我正在使用亚马逊 S3 存储并且有意外行为: storage.exists() 为目录返回 False。我做的一切都正确吗?据我了解 django 文档,它应该返回 True https://docs.djangoproject.com/en/dev/ref/files/storage/

from storages.backends.s3boto import S3BotoStorage

s = S3BotoStorage(bucket='bucketname')
s.listdir('.')
    ([u'test_elf'], [u'327.jpg',u'avatar2.jpg'])
s.exists(u'avatar2.jpg')
    True
s.exists(u'test_elf')
    False  <-- ??
4

1 回答 1

0

s3 只模拟文件夹。如果你在 s3 上有这样的文件结构

avatar1.jpg
avatar2.jpg
folder --
          avatar3.jpg
          avatar4.jpg
one_more.png
last_image.jpg

比您的存储桶上有 6 个逻辑实例:

avatar1.jpg
avatar2.jpg
folder/avatar3.jpg
folder/avatar4.jpg
one_more.png
last_image.jpg

我认为您可以自由地在根目录中创建一个文件“文件夹”,这将与通常的文件系统结构无法比拟,但在 s3 上是可能的。

于 2013-05-20T06:58:07.060 回答