2016-04-27 62 views

回答

1

Azure文件存储follows the "share-directory" structure。我不知道Azure文件存储中的任何Root文件夹(我知道有关跨域和需求),我相信它无法使用文件存储完成。

您可以调用

CloudFileDirectory rootDir = share.getRootDirectoryReference() 

返回共享的根目录,而不是文件存储之一。

为了能够实现你所需要的,我建议你切换到Blob存储如果没有需要文件存储的特定要求。

+0

感谢Alex,通过获取对根的描述,可以添加跨域文件。 – Simon

1

评论部分不允许多少字符。因此,我已经发布了这个答案,实际上这不是一个解决方案:)。

以下是我想分享的经验。

我试图添加一个跨域文件到根,但不能成功。代码如下:。

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(getConnectionString()); 

CloudFileClient client = storageAccount.CreateCloudFileClient(); 
CloudFileShare share = client.GetShareReference(shareName); 
CloudFileDirectory rootDir = share.GetRootDirectoryReference(); 

var crossDomainFile = share.GetRootDirectoryReference().GetFileReference("crossdomain.xml"); 

if (!crossDomainFile.Exists()) 
{ 
    crossDomainFile.UploadText(getCrossDomainXmlContent()); 
    Console.WriteLine("crossDomainFile.StorageUri:" + crossDomainFile.StorageUri.PrimaryUri); 
} 

share.GetRootDirectoryReference()GetFileReference( “crossdomain.xml的”),让你这个地址: https://[account].file.core.windows.net/<share名>的/crossdomain.xml。

对于Silverlight或Flash客户端,文件必须位于https://[account].file.core.windows.net/crossdomain.xml

使用blob存储而不是文件是一个更好的选择,看来。

通过给出像https://[account].file.core.windows.net/crossdomain.xml这样的URI来创建云文件对象也是没有用的。当你调用UploadText方法(例如:crossDomainFile.UploadText(getCrossDomainXmlContent())时,你会得到400-错误请求错误

相关问题