浏览器中的Azure文件存储URL,显示InvalidHeaderValue

Mik*_*ynn 21 azure azure-storage azure-storage-files

我正在尝试访问Azure中为Azure文件存储格式的文件提供的URL,但是我在下面收到此错误.有可能得到这个吗?为什么他们在没用时会提供公共网址?另外我如何直接从IIS访问它?

<Error>
<Code>InvalidHeaderValue</Code>
<Message>
The value for one of the HTTP headers is not in the correct format. RequestId:5d681103-0a1a-00cc-5555-5s4849000000 Time:2016-02-04T14:06:50.1786949Z
</Message>
<HeaderName>x-ms-version</HeaderName>
<HeaderValue/>
</Error>
Run Code Online (Sandbox Code Playgroud)

K23*_*232 19

Gaurav已经在这里提到了一个类似的问题,它说你应该使用"共享访问签名".在Azure的存储帐户设置中,您将找到"共享访问签名"主题.单击"生成SAS"后,您将获得一个"SAS令牌",您需要将其附加到您的URL.

共享访问签名


And*_*Lai 7

如果使用Azure文件服务共享文件,则必须在资源URL之后添加SAS令牌.例如https://testiiju5zra.file.core.windows.net/alexaskillaudio/lamb.mp3?sv=SDFCSGDJ01231%&SDDFXsuSDFSDSDSSFD

或者,您也可以使用Azure Blob执行完全相同的操作.如果使用Blob,则不必在资源URL之后添加额外的令牌.只需在Blob上创建一个容器并将其公开.你可以访问你的文件,如
https://testiiju5zra.blob.core.windows.net/blobaudiosource/lamb.mp3

  • 如果我想在不使用令牌的情况下公开azure文件共享该怎么办。我的很多电话都是从无法附加此令牌的网页获取http (2认同)

小智 6

Mike,
您收到的错误表明您缺少x-ms-version标头.但是一旦你设置它,如果你没有经过身份验证,你将收到另一个错误.您可以参考https://msdn.microsoft.com/en-us/library/azure/dn194274.aspx获取所需标题的列表.或者,您可以将客户端库用于请求而不是REST API.