Azure CloudFile - amp;quot;The specifed resource name contains invalid characters.amp;quot;(Azure CloudFile-amp;指定的资源名称包含无效字符。amp;报价;)
问题描述
我正在尝试将文件从Azure File Storage下载到本地文件,并收到此异常:
"指定的资源名称包含无效字符。"
代码如下:
if (_cloudFileShare.Exists())
{
CloudFileDirectory rootDir = _cloudFileShare.GetRootDirectoryReference();
CloudFileDirectory tempDir = rootDir.GetDirectoryReference("temp");
if (tempDir.Exists())
{
var file = tempDir.GetFileReference(saveFrom);
file.DownloadToFile(saveTo, FileMode.Open);// OFFENDING LINE
}
}
saveTo参数是一个字符串,值如下所示:
"C:UsersMeAppDataLocalTemp mpF2AD.tmp"
saveFrom参数如下所示:
https://storageaccount.file.core.windows.net:443/fileshare/temp/tmpA2DA.tmp
我使用以下函数创建参数:
var saveTo = Path.GetTempFileName();
我做错了什么?我没有多少使用Azure的经验。
推荐答案
问题与您的saveFrom变量有关。它应该只包含文件名,而不是整个URL。因此,如果您尝试下载的文件是tmpA2DA.tmp,您的代码应该是:
var file = tempDir.GetFileReference("tmpA2DA.tmp");
请进行此更改,然后重试。它应该可以工作。
以下是我用来测试的完整代码:
static void FileDownloadTest()
{
var cred = new StorageCredentials(accountName, accountKey);
var account = new CloudStorageAccount(cred, true);
var client = account.CreateCloudFileClient();
var _cloudFileShare = client.GetShareReference("fileshare");
if (_cloudFileShare.Exists())
{
CloudFileDirectory rootDir = _cloudFileShare.GetRootDirectoryReference();
CloudFileDirectory tempDir = rootDir.GetDirectoryReference("temp");
if (tempDir.Exists())
{
var saveTo = System.IO.Path.GetTempFileName();
var file = tempDir.GetFileReference("tmpA2DA.tmp");
file.DownloadToFile(saveTo, FileMode.Open);
}
}
}
这篇关于Azure CloudFile-&;指定的资源名称包含无效字符。&;报价;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Azure CloudFile-&;指定的资源名称包含无效字符。&;报价;
基础教程推荐
- JSON.NET 中基于属性的类型解析 2022-01-01
- 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01
- 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
- 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
- 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01
- 错误“此流不支持搜索操作"在 C# 中 2022-01-01
- 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
- 如何动态获取文本框中datagridview列的总和 2022-01-01
- 全局 ASAX - 获取服务器名称 2022-01-01
- 首先创建代码,多对多,关联表中的附加字段 2022-01-01
