2

我已经通过我的 MVC 应用程序将一些文件上传到云文件共享。到目前为止一切都很好。

现在我想显示链接,从文件共享设置图像源,但无法从 Web 浏览器访问文件。例如,如果我显示图像源设置为的图像

https://mystorageaccount.file.core.windows.net/content/images/14_large_image.png

我什么也没得到,当我尝试在网络浏览器中浏览此文件时,出现以下错误:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
  <Error><Code>InvalidHeaderValue</Code><Message>The value for one of the HTTP headers is not in the correct format.
  RequestId:8294dc3b-001a-00f5-1b96-9039c3000000
  Time:2016-04-07T06:26:33.3731376Z</Message><HeaderName>x-ms-version</HeaderName><HeaderValue/></Error>

我认为这可能是凭据问题,但我不确定。请任何指点!

4

1 回答 1

2

访问 Azure 文件存储的唯一方法是通过 SMB 或 Rest。没有可用的 HTTP 接口。

Windows 上的 Azure 文件存储开始

文件存储为使用标准 SMB 2.1 或 SMB 3.0 协议的应用程序提供共享存储。Microsoft Azure 虚拟机和云服务可以通过挂载共享跨应用程序组件共享文件数据,本地应用程序可以通过文件存储 API 访问共享中的文件数据。

如果您需要匿名 HTTP 访问,则需要使用具有 {storagename}.blob.core.windows.net 地址的 blob 存储

为了从 HTTP (Rest) 访问文件,您需要首先创建授权标头,这些标头记录在Get File文档下。所需的身份验证标头记录在Azure 存储服务的身份验证中,其格式为

Authorization="[SharedKey|SharedKeyLite] {AccountName}:{Signature}"

我希望可以使用 SAS 令牌进行签名,但我刚刚尝试过,但无法让它工作。

于 2016-04-07T07:06:40.307 回答