Azure文件存储 - 在嵌套目录中上载文件

时间:2016-11-24 14:03:07

标签: asp.net azure azure-storage-files

我想在嵌套文件夹环境中上传文件。我没有问题创建目录和上传文件,但在使用嵌套目录时,我在尝试创建文件夹时遇到了存储异常。这是一个代码示例。

try(Connection conn = DAOUtil.getConnection();
    PreparedStatement ps = conn.prepareStatement(addSubscriptionSql);
    SQLCloseable finish = () -> { if(!conn.getAutoCommit()) conn.rollback(); }) {

    conn.setAutoCommit(false);
    //do work
    conn.commit();
    conn.setAutoCommit(true);
}

我是否必须创建一个为目录创建目录的方法,还是有更简单的解决方案?

1 个答案:

答案 0 :(得分:6)

  

我是否必须创建一个为目录创建目录的方法或者是   还有一个更简单的解决方案吗?

是的,你需要这样做。您无法指定文件夹结构并让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...");
        }
    }