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

9

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

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

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

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

2个回答

9

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

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

重要的一点是您不需要创建文件夹,它会根据 GetBlockBlobReference 中的路径自动为您创建。请注意,保留 HTML 标记。

9
实际上,Azure Blob Storage 中并没有真正的文件夹,它只是一个虚拟概念。换句话说,Azure Blob Storage 只有简单的二级“容器 - blob”结构,所谓的“文件夹”只是现有 blob 名称的前缀。
例如,如果有一个名为 a/b/c.jpg 的 blob。其中的 ab 是虚拟文件夹名称,您不能直接创建或删除它们,它们之所以存在,只是因为 blob a/b/c.jpg 存在。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接