下面的代码能够将指定目录中的文件上传localPath到 Azure Blob 存储容器。问题是文件没有放置在容器的根目录中,而是创建了与变量定义的文件路径匹配的文件夹localPath。
string localPath = @"C:\example\path\to\files";
生成的 blob 容器如下所示。
.
+-- example
| +-- path
| +-- to
| +-- files
| +-- file1.json
| +-- file2.json
| +-- file3.json
| +-- file4.json
| +-- file5.json
需要对下面的代码进行哪些更改,以便将文件移动到容器的根目录,而不是移动到与 匹配的文件夹结构中localPath?
程序.cs
namespace AzureBlobStorageFileTransfer
{
using Microsoft.Azure.Storage;
using Microsoft.Azure.Storage.Blob;
using System;
using System.IO;
using System.Threading.Tasks;
public static class Program
{
public static void Main()
{
ProcessAsync().GetAwaiter().GetResult();
}
private static async Task ProcessAsync()
{
CloudStorageAccount storageAccount = null;
CloudBlobContainer cloudBlobContainer = null;
string storageConnectionString = Environment.GetEnvironmentVariable("storageconnectionstring");
if (CloudStorageAccount.TryParse(storageConnectionString, out storageAccount))
{
try
{
CloudBlobClient cloudBlobClient = storageAccount.CreateCloudBlobClient();
cloudBlobContainer = cloudBlobClient.GetContainerReference("example");
BlobContainerPermissions permissions = new BlobContainerPermissions
{
PublicAccess = BlobContainerPublicAccessType.Blob
};
await cloudBlobContainer.SetPermissionsAsync(permissions);
string localPath = @"C:\example\path\to\files";
var txtFiles = Directory.EnumerateFiles(localPath, "*.json");
鸿蒙传说