Azure Blob - ASP. NET, скопировать Blob в ту же коллекцию - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь скопировать из существующего Azure большого двоичного объекта в новое место с тем же именем файла. Две папки находятся в одном контейнере. Есть идеи?

                        // details of where we want to copy from
                        var sourceContainerName = blobContainer.ToString();
                        string fileName = Path.GetFileName(@dirItem.Uri.ToString());
                        var sourceFilePath = "192-168-2-44/img/" + fileName;

                        // details of where we want to copy to
                        var destContainerName = blobContainer.ToString();
                        var destFilePath = "192-168-2-44/archive/" + fileName;

                        var sourceContainer = blobClient.GetContainerReference(sourceContainerName);
                        var destContainer = blobClient.GetContainerReference(destContainerName);

                        Console.WriteLine(sourceContainer);
                        Console.WriteLine(destContainer);

                        CloudBlockBlob sourceBlob = sourceContainer.GetBlockBlobReference(sourceFilePath);
                        CloudBlockBlob destBlob = destContainer.GetBlockBlobReference(destFilePath);

                         await destBlob.StartCopyAsync(sourceBlob);

1 Ответ

0 голосов
/ 14 июля 2020

Я тестирую на своем сайте, и он работает очень хорошо.

Вы можете ссылаться на код, как показано ниже:

CloudStorageAccount storageAccount = CloudStorageAccount.Parse("connectionstring");
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

var sourceContainer = blobClient.GetContainerReference("container");
var destContainer = blobClient.GetContainerReference("container");

var sourceFilePath = "hhh/www/" + "hello.txt";
var destFilePath = "hhh/jjj/" + "hello.txt";
CloudBlockBlob sourceBlob = sourceContainer.GetBlockBlobReference(sourceFilePath);
CloudBlockBlob destBlob = destContainer.GetBlockBlobReference(destFilePath);
await destBlob.StartCopyAsync(sourceBlob);
...