问题
I have created a file storage in Windows azure and uploaded some documents.
This is what my path to my file looks like https://mySite.file.core.windows.net/notes/txt.pdf
When I try to access the a file from my storage i get this error:
回答1:
This is intended behavior. Please note that there's no anonymous access allowed for files stored in file storage. The access needs to be authorized. Since you're trying to access the resource without being authorized, you're getting this error.
One way of authorizing the access is to create a Shared Access Signature (SAS)
on a file/share level with Read
permission and then using that SAS URL to access the file.
回答2:
This is happening because you are trying to access the file as an anonymous user. If you DO want to give access to anonymous users then create a SAS token and include that token in the URL:
- On Azure Portal: go to your storage account, then click on "Shared access Signature" and copy the SAS token:
- add the SAS token to your URL: https://mySite.file.core.windows.net/notes/txt.pdf?sv=2017-11-09&ss=f&srt=o&sp=r&se=2018-11-13T19:11:42Z&st=2018-11-13T11:11:42Z&spr=https&sig=5Q7RPkCGiUdQQsAS43qrWvniK8O7Cwc4uLjHFJfTtkc%3D
回答3:
Here's what worked for me:
Use NuGet package
"WindowsAzure.Storage"
instead of
"Microsoft.WindowsAzure.Storage"
In my case, blob.Exists()
and blob.AcquireLease()
would give me the HTTP Header exception (despite having the storage key/connection string available). The 2 packages above have the same API's (mostly), but the later gave me issues.
来源:https://stackoverflow.com/questions/35045880/cannot-access-windows-azure-file-storage-document