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");
}
我正在尝试上传文件,但出现异常 "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");
}