如何使用Nodejs API在DigitalOcean存储桶中创建文件夹?

时间:2019-06-05 06:27:24

标签: node.js digital-ocean

我正在尝试使用Nodejs将数据存储到DigitalOcean。我可以执行列表,上传,下载操作。但是谁能告诉我如何使用API​​在存储桶中创建文件夹。

1 个答案:

答案 0 :(得分:0)

要了解有关Spaces和S3 API(Spaces旨在与它们进行互操作)的一件重要事情是,“文件夹”实际上只是大小为零的“对象”的“键”。文件夹内的项目将文件夹密钥作为自己密钥的前缀。例如,这是一个空间中的对象列表,其中的文件夹名为foo,其中包含名为bar的文件:

$ aws s3api --endpoint-url https://nyc3.digitaloceanspaces.com --profile do list-objects --bucket my-bucket
{
    "Contents": [
        {
            "LastModified": "2017-10-17T17:50:50.840Z", 
            "ETag": "\"d41d8cd98f00b204e9800998ecf8427e\"", 
            "StorageClass": "STANDARD", 
            "Key": "foo/", 
            "Owner": {
                "DisplayName": "681451698", 
                "ID": "681451698"
            }, 
            "Size": 0
        }, 
        {
            "LastModified": "2017-10-17T17:56:08.583Z", 
            "ETag": "\"8cf8463b34caa8ac871a52d5dd7ad1ef\"", 
            "StorageClass": "STANDARD", 
            "Key": "foo/bar", 
            "Owner": {
                "DisplayName": "681451698", 
                "ID": "681451698"
            }, 
            "Size": 2
        }
    ]
}

因此,您根本不需要创建文件夹。您可以仅使用path/to/file.ext之类的键来上传对象。如果您希望在DigitalOcean Spaces的控制面板中看到一个空的“文件夹”,则可以“上传”一个空对象,其键的结尾为前移斜杠({{1)}。例如:

/