Azure CloudFile UploadFromFile "The specified resource name contains invalid characters"

Azure CloudFile UploadFromFile "The specified resource name contains invalid characters"

我正在尝试上传文件,但出现异常 "The specified resource name contains invalid characters"。

我使用的路径是@"C:\Test\Test.txt"。当我更改为相对寻址(即@".\Test.txt")并将文件放在 exe 文件夹中时,它将起作用。

我需要知道相对寻址是从 .NET 客户端将文件上传到 Azure 文件存储的唯一选项吗?有没有办法引用具有完整路径的文件并上传到文件存储?

更新:根据下面的评论和回答,我意识到我的错误:我正在向 GetFileReference 方法提供传入文件路径,其中这应该是Azure 中的新文件,因此它包含无效的“:”。评论很对,我应该提供代码,可能更容易诊断。

public static async Task WriteFileToStorage(string filePath)
{
    CloudFileShare fileShare = GetCloudFileShare();
    CloudFileDirectory fileDirectory = fileShare.GetRootDirectoryReference();
    CloudFile cloudFile = fileDirectory.GetFileReference(filePath);
    await cloudFile.UploadFromFileAsync(filePath);
}

.Net客户端上传到azure文件存储时支持完整路径

您最好提供您正在使用的完整代码,包括本地和 Azure 文件存储中的文件名/路径。

这是我测试过的代码,它有效。(我使用的是包 WindowsAzure.Storage,版本 9.3.3):

        static void Main(string[] args)
        {
            CloudStorageAccount storageAccount = new CloudStorageAccount(new StorageCredentials("account_name", "account_key"), true);
            CloudFileClient fileClient = storageAccount.CreateCloudFileClient();
            CloudFileShare fileShare = fileClient.GetShareReference("test");
            CloudFileDirectory rootDir = fileShare.GetRootDirectoryReference();
            CloudFile myfile = rootDir.GetFileReference("mytest.txt");

            //the full file path on local
            myfile.UploadFromFile(@"C:\Test\Test.txt");
}