C#将文件上传到Azure Blob存储中的文件夹

时间:2018-08-14 22:58:59

标签: c# .net azure azure-storage azure-storage-blobs

我知道我们可以使用以下文件将文件上传到Azure Blob存储:

        CloudBlockBlob cloudBlockBlob = fileContainer.GetBlockBlobReference(fileName);
        await cloudBlockBlob.UploadFromFileAsync(fileFullPath);

我已经在容器中创建了一些文件夹。我试了几次,但文件总是上传到文件夹之外。

我们如何将文件上传到Blob存储中的特定文件夹中?

2 个答案:

答案 0 :(得分:4)

我想您必须首先获得正确的引用(您需要在GetBlockBlobReference中包含文件的完整路径),如:

 CloudBlockBlob cloudBlockBlob = fileContainer.GetBlockBlobReference($"yourfoldername/{fileName}");

重要的一点是您不需要创建文件夹,它会根据GetBlockBlobReference中的路径自动为您创建文件夹。

答案 1 :(得分:1)

实际上,Azure Blob存储中没有真正的文件夹,它只是一个虚拟概念。换句话说,Azure Blob存储仅具有简单的2级“容器-blob”结构,所谓的“文件夹”只是现有blob名称的前缀。

例如,如果有一个名为a/b/c.jpg的blob。 ab是虚拟文件夹名称,您不能直接创建或删除它们,它们只是由于斑点a/b/c.jpg而存在。

相关问题