2016-02-17 5 views
0

Я ищу решение для копирования файлов из Azure File share в Azure Blob.C# код для копирования файлов из файла Azure Доля в Azure Blob

+1

Пожалуйста, сообщите нам, что вы сделали до сих пор, и с какими проблемами вы столкнулись. –

+0

Какой язык программирования вы используете? – juvchan

+0

Я использую язык C# для копирования файлов из файла Azure File в Azure Blob. –

ответ

2

Наконец-то он работает.

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); 

     } 
+0

Спасибо за код. Ты спас мне время. –

 Смежные вопросы

  • Нет связанных вопросов^_^