0

how do I upload a file to a specific folder inside the Azure container?

I'm using the code below and it's working fine, but it's saving in the container root.

var connectionString = "xxxxxx";
string containerName = "projects";
var serviceClient = new BlobServiceClient(connectionString);
var containerClient = serviceClient.GetBlobContainerClient(containerName);
var path2 = @"C:\2021\BlobContainer\";
var fileName2 = dados.after.NR_RA + "_" + DateTime.Now.ToString("ddmmyyyyHHmm") + ".txt";
var localFile = Path.Combine(path2, fileName2);
var blobClient = containerClient.GetBlobClient(fileName2);
Console.WriteLine("Uploading to Blob storage");
using FileStream uploadFileStream = File.OpenRead(localFile);
await blobClient.UploadAsync(uploadFileStream, true);
uploadFileStream.Close();

1 Answers1

0

Sorted out!

As noted in this post:

How to save a file to a subfolder in an Azure blob container?

It is necessary to change:

var blobClient = containerClient.GetBlobClient(fileName2);

For

var blobClient = containerClient.GetBlobClient("Folder1/" + fileName2);

Getting the code like this:

var connectionString = "xxxxxx";
string containerName = "projects";
var serviceClient = new BlobServiceClient(connectionString);
var containerClient = serviceClient.GetBlobContainerClient(containerName);
var path2 = @"C:\2021\BlobContainer\";
var fileName2 = dados.after.NR_RA + "_" + DateTime.Now.ToString("ddmmyyyyHHmm") + ".txt";
var localFile = Path.Combine(path2, fileName2);
var blobClient = containerClient.GetBlobClient("Folder1/" + fileName2);
Console.WriteLine("Uploading to Blob storage");
using FileStream uploadFileStream = File.OpenRead(localFile);
await blobClient.UploadAsync(uploadFileStream, true);
uploadFileStream.Close();

Get the hint!!!