gpt4 book ai didi

将文件从 Azure 文件共享复制到 Azure Blob 的 C# 代码

转载 作者:行者123 更新时间:2023-12-03 05:07:58 24 4
gpt4 key购买 nike

如何使用 C# 将文件从 Azure 文件共享复制到 Azure Blob?

最佳答案

终于成功了。

string rootFolder = "root";

string mainFolder = "MainFolder";

string fileshareName = "testfileshare";

string containerName = "container";

string connectionString = "Provide StorageConnectionString here";

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString);
CloudFileClient fileClient = storageAccount.CreateCloudFileClient();

// Create a new file share, if it does not already exist.
CloudFileShare share = fileClient.GetShareReference(fileshareName);
share.CreateIfNotExists();

// Create a new file in the root directory.

CloudFileDirectory rootDir = share.GetRootDirectoryReference();

CloudFileDirectory sampleDir = rootDir.GetDirectoryReference(rootFolder);


CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(containerName.ToLower());
container.CreateIfNotExists();

foreach (var Files in sampleDir.ListFilesAndDirectories())
{
char strdelim = '/';
string path = Files.Uri.ToString();
var arr = Files.Uri.ToString().Split(strdelim);
string strFileName = arr[arr.Length - 1];

Console.WriteLine("\n" + strFileName);

CloudFile sourceFile = sampleDir.GetFileReference(strFileName);

string fileSas = sourceFile.GetSharedAccessSignature(new SharedAccessFilePolicy()
{
// Only read permissions are required for the source file.
Permissions = SharedAccessFilePermissions.Read,
SharedAccessExpiryTime = DateTime.UtcNow.AddHours(24)
});

Uri fileSasUri = new Uri(sourceFile.StorageUri.PrimaryUri.ToString() + fileSas);

string blob = mainFolder + "\\" + strFileName;

CloudBlockBlob blockBlob = container.GetBlockBlobReference(blob);

blockBlob.StartCopy(fileSasUri);

}

关于将文件从 Azure 文件共享复制到 Azure Blob 的 C# 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35459445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com