创建并上传到Azure Blob存储中的特定文件夹

时间:2020-10-15 17:09:57

标签: c# azure azure-storage-blobs azure-blob-storage

我正在尝试通过C#代码将文件上传到Azure blob存储,但是,我需要特定的目录树。到目前为止,我的代码:

BlobServiceClient bSC = new BlobServiceClient(MY_CONN_STRING);

string filename = $"test/files/file.json";
string localFilePath = Path.Combine(filename);
var containerClient = bSC.GetBlobContainerClient("mycontainer");
BlobClient blobClient = containerClient.GetBlobClient(filename);

using FileStream uploadFileStream = File.OpenRead(localFilePath);
await blobClient.UploadAsync(uploadFileStream, true);
uploadFileStream.Close();

我还有另一段代码可以在test/files/file.json中生成文件。但是,在Azure blob存储中,我希望将其上传到我选择的目录树中。示例:/mycontainer/Events/production/file.json,但也需要创建Events。 现在,它正在我的test/files/file.json项目中重新创建树结构。

1 个答案:

答案 0 :(得分:0)

GetBlobClient中的字符串参数负责文件一旦上传后将具有的“路径”,它与本地系统中的文件名不应该完全相同。

BlobClient blobClient = containerClient.GetBlobClient("mycontainer/Events/production/file.json");