2016-11-24 102 views
0

我想上傳文件,但在嵌套文件夾環境中。我沒有問題創建目錄並上傳文件,但是當使用嵌套目錄時,我在創建文件夾時遇到了存儲異常。這是一個代碼示例。Azure文件存儲 - 在嵌套目錄中上傳文件

CloudFileDirectory rootDirectory = FileShare.GetRootDirectoryReference(); 
    if (rootDirectory.Exists()) 
    { 
     cloudFileDirectory = rootDirectory.GetDirectoryReference("Folder/SubFolder"); 

     cloudFileDirectory.CreateIfNotExists(); //Exception occur 

     var file = cloudFileDirectory.GetFileReference("File.txt"); 
    } 

我是否必須創建一個爲目錄創建目錄的方法,還是有一個更簡單的解決方案?

回答

3

我必須創建一個方法來創建目錄的目錄或是 有一個更簡單的解決方案嗎?

是的,你需要這樣做。您無法指定文件夾結構並讓SDK爲您處理。請參考下面的示例代碼,瞭解一種方法。

static void NestedDirectoriesTest() 
    { 
     var cred = new StorageCredentials(accountName, accountKey); 
     var account = new CloudStorageAccount(cred, true); 
     var client = account.CreateCloudFileClient(); 
     var share = client.GetShareReference("temp2"); 
     share.CreateIfNotExists(); 
     var cloudFileDirectory = share.GetRootDirectoryReference(); 
     var nestedFolderStructure = "Folder/SubFolder"; 
     var delimiter = new char[] { '/' }; 
     var nestedFolderArray = nestedFolderStructure.Split(delimiter); 
     for (var i=0; i<nestedFolderArray.Length; i++) 
     { 
      cloudFileDirectory = cloudFileDirectory.GetDirectoryReference(nestedFolderArray[i]); 
      cloudFileDirectory.CreateIfNotExists(); 
      Console.WriteLine(cloudFileDirectory.Name + " created..."); 
     } 
    } 
相關問題