Azure File Storage URL in browser showing InvalidH

2020-03-01 05:38发布

问题:

I am trying to access the URL given in Azure for a file on the Azure File Storage format, however I am getting this error below. Is it possible to get this? Why would they offer a public URL when it's useless? Also how can I access this directly from 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>

回答1:

Gaurav already mentioned a similar question here where it says you should use a "Shared Access Signature". In your storage account settings in Azure you'll find a topic "Shared Acess Signature". After clicking "Generate SAS" you'll get a "SAS Token" which you need to append to your URL.



回答2:

If you use Azure File service to share your files, you have to add SAS token after your resources URL. e.g. https://testiiju5zra.file.core.windows.net/alexaskillaudio/lamb.mp3?sv=SDFCSGDJ01231%&SDDFXsuSDFSDSDSSFD

Alternatively, you can do the exact same things by using Azure Blobs as well. If you use Blobs, you don't have to add the extra token after resources URL. Just create a container on Blobs and make it public. And you can access your file like
https://testiiju5zra.blob.core.windows.net/blobaudiosource/lamb.mp3



回答3:

Mike,
The error you received indicates that you are missing x-ms-version header. But once you set it, you will receive another error if you have not authenticated. You can refer to https://msdn.microsoft.com/en-us/library/azure/dn194274.aspx for list of required headers. Alternatively, you can use client library for the requests instead of REST API.